Vue3.0 vue.config.js基本配置

Vue-cli3 vue.config.js基本配置

vue-cli2创建项目后是自身具有config文件夹,在vue-cli3中创建项目后不会生成相应的配置文件,这里的vue.config.js文件需要自己创建,一般是在项目的根目录下。

下面是根据vue-cli官方文档进行的基本配置,可以直接复制使用。
注意: loaderOptions中的sass是我创建项目时选择的,data对应的路径需要自己创建!!!

// vue.config.js
const path = require("path");
module.exports = {
  // 基本路径
  publicPath: process.env.NODE_ENV === "production" ? "./" : "./",
  // 构建时的输出目录
  outputDir: "dist",
  // 放置静态资源的目录
  assetsDir: "static",
  // html输出的主路径
  indexPath: "index.html",
  // 文件名哈希
  filenameHashing: true,

  // 多页面配置,默认undefined
  pages: {
    index: {
      // 入口文件
      entry: "src/main.js",
      // 模板文件
      template: "public/index.html",
      // 在dist中输出文件名称
      filename: "index.html",
      // 当使用页面title时
      // template中的title标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
      title: "Index Page",
      // 在这个页面中包含的块,默认情况下会包含提取出来的通用的chunk和vender chunk
      chunk: ["chunk-vendors", "chunk-common", "index"],
    },
    // 当使用只有入口的字符串格式时,
    // 模板会被推导为 `public/subpage.html`
    // 并且如果找不到的话,就回退到 `public/index.html`。
    // 输出文件名会被推导为 `subpage.html`。
    // subpage: 'src/subpage/main.js'
  },

  // 是否在保存时使用'eslint-loader'进行检查
  // true || 'warning' 输出编译警告到命令行,不影响编译
  // 'default' 强制输出为编译错误且导致编译失败
  // 'error' 将编译警告输出为编译错误且导致编译失败
  lintOnSave: true,

  // 是否使用包含运行时编译器的vue构建版本(使用会让应用多10kb)
  runtimeCompiler: false,

  // 想要Babel显示编译的依赖,默认为[]
  // transpileDependencies: [],
  // 生产环境的source map,默认为true
  // productionSourceMap: true,
  // 设置link和script标签跨域,默认为undefined
  // crossorigin: "",
  // 子资源的完整性保证,即在link和script上生成integrity属性,默认为false
  // integrity: false
  //  调整内部的 webpack 配置
  //   chainWebpack: (config) => {},
  configureWebpack: (config) => {
    config.resolve = {
      extensions: [".js", ".json", ".vue"],
      alias: {
        "@": path.resolve(__dirname, "./src"),
      },
    };
  }, //(Object | Function)

  // CSS相关选项
  css: {
    // 为所有css及其预处理文件开启CSS Modules
    // v4放弃,使用css.requireModuleExtension,两者使用相反
    // modules: false,
    requireModuleExtension: true,

    // 是否将组件内的CSS提取到一个单独的css文件中(而不是注入到js中的inline代码)
    // 生产环境默认为true,开发环境默认为false
    extract: true,
    // 是否为css开启source map
    sourceMap: false,
    // 向CSS相关的loader传递选项
    // 支持css-loader、postcss-loader、sass-loader、less-loader和stylus-loader
    loaderOptions: {
      // 这里的选项会传递给css-loader
      // css: {},
      // 这里的选项会传递给postcss-loader
      // postcss: {},
      sass: {
        data: `@import "./src/styles/main.scss";`,
      },
    },
  },

  // 配置webpack-dev-server行为
  devServer: {
    open: process.platform === "darwin",
    host: "0.0.0.0",
    port: "9090",
    https: false,
    hotOnly: true,
    // 代理跨域,值为String或者Object
    // proxy: "",
    // proxy: {
    //   "/api": {
    //     target: "<url>",
    //     ws: true,
    //     changeOrigin: true,
    //   },
    // },

    // cpu多于一个内核时自动启用多线程加载,用于生产构建
    // parallel: require('os').cpus().length > 1,
    // 不进行任何scheme验证的选项
    // pluginOptions: {
    //     foo: {
    //         //插件可以作为`options.pluginOptions.foo`来访问这些选项
    //     }
    // },
  },
};

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值