最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

背景

項(xiàng)目中有一個(gè)本地配置文件:

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

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

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

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

xxx.com/static/imag…

這個(gè)時(shí)候你直接引用文件地址自然是行不通的。

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

// ERROR This dependency was not found

實(shí)現(xiàn)

首先對(duì)image-position.js做一點(diǎn)小改造,暴露一個(gè)全局對(duì)象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項(xiàng)目的打包體積優(yōu)化中,cdn加速是常用的一種手段,上面其實(shí)就是cdn加速的實(shí)現(xiàn)內(nèi)容,把第三方庫通過script標(biāo)簽引入,大大減少打包的vendor.js文件大小。

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

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

相關(guān)文章

  • Vue之Pinia狀態(tài)管理

    Vue之Pinia狀態(tài)管理

    這篇文章主要介紹了Vue中Pinia狀態(tài)管理,Pinia開始于大概2019年,其目的是設(shè)計(jì)一個(gè)擁有 組合式 API 的 Vue 狀態(tài)管理庫,Pinia本質(zhì)上依然是一個(gè)狀態(tài)管理庫,用于跨組件、頁面進(jìn)行狀態(tài)共享,感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • Vue全局自適應(yīng)大小:使用postcss-pxtorem方式

    Vue全局自適應(yīng)大小:使用postcss-pxtorem方式

    本文介紹了如何在Vue項(xiàng)目中使用postcss-pxtorem插件實(shí)現(xiàn)響應(yīng)式設(shè)計(jì),postcss-pxtorem可以自動(dòng)將CSS文件中的px單位轉(zhuǎn)換為rem單位,從而實(shí)現(xiàn)更好的自適應(yīng)布局,通過配置postcss-pxtorem插件,可以在構(gòu)建時(shí)自動(dòng)完成轉(zhuǎn)換,無需手動(dòng)修改代碼
    2025-01-01
  • el-upload http-request使用 多個(gè)文件上傳攜帶其他參數(shù)方式

    el-upload http-request使用 多個(gè)文件上傳攜帶其他參數(shù)方式

    這篇文章主要介紹了el-upload http-request使用 多個(gè)文件上傳攜帶其他參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue后臺(tái)中優(yōu)雅書寫狀態(tài)標(biāo)簽的方法實(shí)例

    Vue后臺(tái)中優(yōu)雅書寫狀態(tài)標(biāo)簽的方法實(shí)例

    在Vue中,我們可以非常便捷地通過標(biāo)簽實(shí)現(xiàn)狀態(tài)的保存,這篇文章主要給大家介紹了關(guān)于Vue后臺(tái)中如何優(yōu)雅的書寫狀態(tài)標(biāo)簽的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • vuejs手把手教你寫一個(gè)完整的購物車實(shí)例代碼

    vuejs手把手教你寫一個(gè)完整的購物車實(shí)例代碼

    這篇文章主要介紹了vuejs-手把手教你寫一個(gè)完整的購物車實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 詳解vue 組件之間使用eventbus傳值

    詳解vue 組件之間使用eventbus傳值

    本篇文章主要介紹了vue 組件之間使用eventbus傳值。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • SSM VUE Axios詳解

    SSM VUE Axios詳解

    Axios是在前端開發(fā)中常用的一個(gè)發(fā)送 HTTP 請(qǐng)求的庫,用過的都知道,篇文章主要給大家介紹了關(guān)于vue的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • 在Vue項(xiàng)目中取消ESLint代碼檢測(cè)的步驟講解

    在Vue項(xiàng)目中取消ESLint代碼檢測(cè)的步驟講解

    今天小編就為大家分享一篇關(guān)于在Vue項(xiàng)目中取消ESLint代碼檢測(cè)的步驟講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 淺談vue項(xiàng)目用到的mock數(shù)據(jù)接口的兩種方式

    淺談vue項(xiàng)目用到的mock數(shù)據(jù)接口的兩種方式

    這篇文章主要介紹了淺談vue項(xiàng)目用到的mock數(shù)據(jù)接口的兩種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 一篇文章帶你搞懂Vue虛擬Dom與diff算法

    一篇文章帶你搞懂Vue虛擬Dom與diff算法

    這篇文章主要給大家介紹了關(guān)于Vue虛擬Dom與diff算法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評(píng)論

揭东县| 罗平县| 特克斯县| 张家川| 静海县| 林口县| 浮梁县| 栾川县| 巴中市| 呼图壁县| 图们市| 灵川县| 怀安县| 洛阳市| 阿瓦提县| 丹巴县| 申扎县| 昭通市| 自治县| 永新县| 鹤岗市| 嘉义县| 昌邑市| 屯留县| 昂仁县| 慈溪市| 雅江县| 奉贤区| 弥渡县| 佛坪县| 邵阳市| 江北区| 郓城县| 大冶市| 察雅县| 莆田市| 清河县| 前郭尔| 民丰县| 邻水| 云安县|