1. 程式人生 > 實用技巧 >vue-cli3沒有config.js檔案的解決方法

vue-cli3沒有config.js檔案的解決方法

之前遇到vue打包後白屏,解決辦法都是修改config檔案,cli3沒有該檔案需要手動建立。

白屏的問題,打包後的index.html中JS都是根目錄的,所有打包後不放根目錄找不到其他js檔案。可以通過新建並配置config.js來完成

官方vue-cli 3,精簡很多檔案,其中包括沒有了cli2中的config目錄,所以需要更改之前cli2中config中相關的配置檔案,


需要在cli3專案根目錄下新建檔案vue.config.js來寫,注意不是src目錄,是根目錄

module.exports = {
  /** 區分打包環境與開發環境
   * process.env.NODE_ENV==='production'  (打包環境)
   * process.env.NODE_ENV==='development' (開發環境)
   * baseUrl: process.env.NODE_ENV==='production'?"https://cdn.didabisai.com/front/":'front/',
   */
  // 專案部署的基礎路徑
  // 我們預設假設你的應用將會部署在域名的根部,
  // 例如 https://www.my-app.com/
  // 如果你的應用部署在一個子路徑下,那麼你需要在這裡
  // 指定子路徑。比如將你的應用部署在
  // https://www.foobar.com/my-app/
  // 那麼將這個值改為 '/my-app/'
  baseUrl: "/", // 構建好的檔案輸出到哪裡

  outputDir: "dist", // where to put static assets (js/css/img/font/...) // 是否在儲存時使用‘eslint-loader’進行檢查 // 有效值: true | false | 'error' // 當設定為‘error’時,檢查出的錯誤會觸發編譯失敗
  lintOnSave: true, // 使用帶有瀏覽器內編譯器的完整構建版本 // https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only
  runtimeCompiler: false, // babel-loader預設會跳過`node_modules`依賴. // 通過這個選項可以顯示轉譯一個依賴
  transpileDependencies: [
    /* string or regex */
  ], // 是否為生產環境構建生成sourceMap?

  productionSourceMap: false, // 調整內部的webpack配置. // see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
  chainWebpack: () => {},
  configureWebpack: () => {}, // CSS 相關選項
  css: {
    // 將元件內部的css提取到一個單獨的css檔案(只用在生產環境)
    // 也可以是傳遞給 extract-text-webpack-plugin 的選項物件
    extract: true, // 允許生成 CSS source maps?
    sourceMap: false, // pass custom options to pre-processor loaders. e.g. to pass options to // sass-loader, use { sass: { ... } }
    loaderOptions: {}, // Enable CSS modules for all css / pre-processor files. // This option does not affect *.vue files.
    modules: false
  }, // use thread-loader for babel & TS in production build // enabled by default if the machine has more than 1 cores

  parallel: require("os").cpus().length > 1, // PWA 外掛相關配置 // see https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa

  pwa: {}, // configure webpack-dev-server behavior
  devServer: {
    open: process.platform === "darwin",
    disableHostCheck: false,
    host: "0.0.0.0",
    port: 8088,
    https: false,
    hotOnly: false, // See https://github.com/vuejs/vue-cli/blob/dev/docs/cli-service.md#configuring-proxy
    proxy: null // string | Object
    // before: app => {}
  }, // 第三方外掛配置

  pluginOptions: {
    // ...
  }
};