vue打包路径和服务代理配置

  • 使用步骤
  • 1.首先在 vue 的项目下面 新建一个 vue.config.js 该文件夹和src是同级的文件夹。
  • 2.文件夹的内容如下


提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

使用步骤

1.首先在 vue 的项目下面 新建一个 vue.config.js 该文件夹和src是同级的文件夹。

2.文件夹的内容如下

代码如下(示例):

module.exports = {
  publicPath: "./", // 部署应⽤包时的基本 URL
  outputDir: "dist", // npm run build ⽣成的⽂件夹,默认是dist
  assetsDir: "static", // 在kaixin⽂件夹下⾯⽣成static⽬录存放js,img,css等静态资源
  indexPath: "index.html", // ⽣成的单⽂件的,⽂件名,
  filenameHashing: true, // 文件名哈希(默认情况下,生成的静态资源在它们的文件名中包含了 hash 以便更好的控制缓存。然而,这也要求 index 的 HTML 是被 Vue CLI 自动生成的。如果你无法使用 Vue CLI 生成的 index HTML,你可以通过将这个选项设为 false 来关闭文件名哈希)
  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 和 vandor chunk。
      chunks: ['chunk-vendors', 'chunk-common', 'index']
    },
    // 当使用只有入口的字符串格式时,
    // 模板文件默认是 'public/subpage.html'
    // 如果不存在,就回退到 'public/index.html'
    // 输出文件默认是 'subpage.html'
    subpage: 'src/subpage/main.js'
  },
  // 是否在保存的时候使用'eslint-loaer'进行检查。
  lintOnSave: true,
  // 是否使用带有浏览器内编译器的完整构建版本
  runtimeCompiler: false,
  // 在生成的 HTML 中的 <link rel="stylesheet"> 和 <script> 标签上启用 Subresource Integrity (SRI)。如果你构建后的文件是部署在 CDN 上的,启用该选项可以提供额外的安全性。
  integrity: true,
  // 配置跨域服务代理
  devServer: {
    host: "127.0.0.1", // 配置主机地址
    port: process.env.NODE_ENV == 'production' ? 3000 : 8888, // 配置运⾏的端⼝
    // proxy: "接⼝地址",  跨域代理! 【重要!】
    proxy: { // 配置多个!
      // '/api': {
      //   target: 'http://localhost:3030/api',
      //   ws: true, // 跨域地址是https协议!
      //   changeOrigin: true,
      //   pathRewrite: {
      //     "^/api": ""   // 将 '/api' 替换成 ''  
      //   }
      // }
    },
  },
  css: {
    // 将组件内的 CSS 提取到一个单独的 CSS 文件 (只用在生产环境中)
    // 也可以是一个传递给 `extract-text-webpack-plugin` 的选项对象
    extract: true,
    // 是否开启 CSS source map?
    sourceMap: false,
    // 为预处理器的 loader 传递自定义选项。比如传递给
    // Css-loader 时,使用 `{ Css: { ... } }`。
    loaderOptions: {
      css: {
        // 这里的选项会传递给 css-loader
      },
      postcss: {
        // 这里的选项会传递给 postcss-loader
      }
    },
    // 为所有的 CSS 及其预处理文件开启 CSS Modules。
    // 这个选项不会影响 `*.vue` 文件。
    modules: false
  },
}