webpack-vue-cli3解析


安裝: npm install -g @vue/cli

新建項目: vue create webpack_vue

進入項目:

啟動服務: npm run serve

打包項目: npm run build

vue對webpack做了大量的封裝,沒有暴露出來webpack的配置信息,當我們需要修改webpack配置的時候,可以在根目錄下新建vue.config.js,根據官網進行配置即可。 例如:

module.exports={
    outputDir:'hello'
}

那么當我們運行打包命令的時候就會打包在hello文件夾下,而不是默認的dist;

pages對應原來的entry:

pages: {
    index: {
      // page 的入口
      entry: 'src/index/main.js',
      // 模板來源
      template: 'public/index.html',
      // 在 dist/index.html 的輸出
      filename: 'index.html',
      // 當使用 title 選項時,
      // template 中的 title 標簽需要是 <title><%= htmlWebpackPlugin.options.title %></title>
      title: 'Index Page',
      // 在這個頁面中包含的塊,默認情況下會包含
      // 提取出來的通用 chunk 和 vendor chunk。
      chunks: ['chunk-vendors', 'chunk-common', 'index']
    },
    // 當使用只有入口的字符串格式時,
    // 模板會被推導為 `public/subpage.html`
    // 並且如果找不到的話,就回退到 `public/index.html`。
    // 輸出文件名會被推導為 `subpage.html`。
    subpage: 'src/subpage/main.js'
}

 

那么當我們需要做一些配置上沒有的事情怎么辦呢?例如我們在目錄中新建文件夾static,放置靜態文件(index.json),

{
    "abc":123
}

這個時候我們啟動服務器是不能訪問到index.json的,因為沒有打包進去,VUE-CLI中給我們提供了一個屬性configureWebpack,我們可以寫一些原生的webpack代碼:

const path=require('path');

module.exports={
    configureWebpack:{
        devServer:{
            contentBase:[path.resolve(__dirname,'static')]
        }
    }
}

以上表示我們可以到static目錄下獲取資源 啟動項目之后訪問 http://localhost:8080/index.json 就可以拿到index.json的內容。 當然,上述只是舉個栗子,實際vue-cli已經提供了devServer,可以如下配置:

devServer:{
    contentBase:[path.resolve(__dirname,'static')]
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM