欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue 如何import服務(wù)器上的js配置文件

 更新時間:2021年04月08日 10:44:45   作者:8號的凌晨4點  
這篇文章主要介紹了Vue 如何import服務(wù)器上的js配置文件,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下

背景

項目中有一個本地配置文件:

// src/image-position.js
export default {
    label: '首頁',
    value: 'home',
    data: [
      {
        label: '輪播',
        value: 'carousel'
      }
    ]
}

如何引用一個本地文件大家都知道:

import ImagePosition from './image-position.js'

現(xiàn)在需要把image-position.js文件丟到服務(wù)器上去,得到它的鏈接:

xxx.com/static/imag…

這個時候你直接引用文件地址自然是行不通的。

import ImagePosition from 'https://xxx.com/static/image-position.js'

// ERROR This dependency was not found

實現(xiàn)

首先對image-position.js做一點小改造,暴露一個全局對象ImagePosition

// 改造后的image-position.js

(function (global, factory) {
  typeof exports === 'object' && typeof module !== 'undefined' 
    ? module.exports = factory() 
    : typeof define === 'function' && define.amd 
    ? define(factory) 
    : (global = global || self, global.ImagePosition = factory());
}(this, (function () {
  'use strict';
  
  return {
    label: '首頁',
    value: 'home',
    data: [
      {
        label: '輪播',
        value: 'carousel'
      }
    ]
  };
})));

在vue.config.js文件里添加externals。

module.exports = {
  configureWebpack: config => {
    config.externals = {
      'image-position': 'ImagePosition'
   }
  }
}

index.html 區(qū)分環(huán)境并引入js文件。

// public/index.html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="renderer" content="webkit">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <body>
    <div id="app"></div>
    <!-- built files will be auto injected -->
    <% if (NODE_ENV == 'production') { %>
      <script src="http://xxx.com/static/image-position.js"></script>
    <% } else { %>
      <script src="http://test.xxx.com/static/image-position.js"></script>
    <% } %>
  </body>
</html>

結(jié)束上面的步驟后就可以愉快的引用image-position.js文件了。

import ImagePosition from 'image-position'
console.log(ImagePosition)
// {label: '首頁',value: 'home',data: [{label: '輪播', value: 'carousel'}]}

補(bǔ)充vue-cli2.0下如何配置

// build/webpack.base.conf.js
module.exports = {
  externals: {
    // 新增
    'image-position': 'ImagePosition'
  }
}
// index.html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="renderer" content="webkit">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <body>
    <div id="app"></div>
    <!-- built files will be auto injected -->
    <% if (process.env == 'production') { %>
      <script src="http://xxx.com/static/image-position.js"></script>
    <% } else { %>
      <script src="http://test.xxx.com/static/image-position.js"></script>
    <% } %>
  </body>
</html>

總結(jié)

在Vue項目的打包體積優(yōu)化中,cdn加速是常用的一種手段,上面其實就是cdn加速的實現(xiàn)內(nèi)容,把第三方庫通過script標(biāo)簽引入,大大減少打包的vendor.js文件大小。

當(dāng)我們想把本地文件放到服務(wù)器遠(yuǎn)程化時,關(guān)鍵在于實現(xiàn)步驟的第一步,其他的內(nèi)容跟配置cdn加速的過程是一樣的。

以上就是Vue 如何import服務(wù)器上的js配置文件的詳細(xì)內(nèi)容,更多關(guān)于Vue import js配置文件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解三種方式解決vue中v-html元素中標(biāo)簽樣式

    詳解三種方式解決vue中v-html元素中標(biāo)簽樣式

    這篇文章主要介紹了三種方式解決vue中v-html元素中標(biāo)簽樣式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Vue3路由組件內(nèi)的路由守衛(wèi)onBeforeRouteLeave和onBeforeRouteUpdate使用

    Vue3路由組件內(nèi)的路由守衛(wèi)onBeforeRouteLeave和onBeforeRouteUpdate使用

    這篇文章主要介紹了Vue3路由組件內(nèi)的路由守衛(wèi)onBeforeRouteLeave和onBeforeRouteUpdate使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • vue3中ref綁定dom或者組件失敗的原因及分析

    vue3中ref綁定dom或者組件失敗的原因及分析

    這篇文章主要介紹了vue3中ref綁定dom或者組件失敗的原因及分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue請求函數(shù)和路由的安裝使用過程

    vue請求函數(shù)和路由的安裝使用過程

    這篇文章主要介紹了vue請求函數(shù)和路由的安裝使用過程,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • vue實際運用之vuex持久化詳解

    vue實際運用之vuex持久化詳解

    這篇文章主要為大家介紹了vue運用之vuex持久化,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Vue.js中el-table表格自定義列控制與拖拽

    Vue.js中el-table表格自定義列控制與拖拽

    本文主要介紹了Vue.js中el-table表格自定義列控制與拖拽,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • vue中動態(tài)修改animation效果無效問題詳情

    vue中動態(tài)修改animation效果無效問題詳情

    這篇文章主要介紹了vue中動態(tài)修改animation效果無效問題詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • vue使用混入定義全局變量、函數(shù)、篩選器的實例代碼

    vue使用混入定義全局變量、函數(shù)、篩選器的實例代碼

    本文主要是給大家分享利用混入mixins來實現(xiàn)全局變量和函數(shù)。這種方法優(yōu)點是ide會有方法、變量、篩選器提示。對vue中 利用混入定義全局變量、函數(shù)、篩選器的相關(guān)知識感興趣的朋友,跟隨小編一起看看吧
    2019-07-07
  • Vue響應(yīng)式系統(tǒng)的原理詳解

    Vue響應(yīng)式系統(tǒng)的原理詳解

    這篇文章主要為大家介紹了Vue響應(yīng)式系統(tǒng)的原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • iview給radio按鈕組件加點擊事件的實例

    iview給radio按鈕組件加點擊事件的實例

    下面小編就為大家?guī)硪黄猧view給radio按鈕組件加點擊事件的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09

最新評論