webpack4 mode模式无法设置none

webpack4 设置mode模式为none 提示没有设置mode切换为development

vue项目中使用DLL打包vue避免每次打包都要重新build第三方库,执行脚本的时候会报错,webpack提示没有设置mode 默认设置成了development,导致entry的路径不是设置的vendor,虽然打包成功了,但是会多一个development中的entry文件

相关代码

webpack.dll.conf.js 相关代码
const dllWebpackConf = {
entry: {

vendor: ['vue/dist/vue.esm.js']

},
output: {

filename: '[name].dll.js',
path: path.resolve(__dirname, '../dist/dll'),
library: '[name]'

},
plugins: [

new Webpack.DllPlugin({
  path: path.join(__dirname, '../dist/dll', '[name]-manifest.json'),
  name: '[name]'
})

]
}
执行脚本
webpack ---mode=none --config build/webpack.dll.conf.js

WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production'
to enable defaults for each environment.

dist目录中dll存放的是打包好的vue文件,同时会多一个main.js,求解为什么不能设置none。

阅读 2.8k
3 个回答

只有developmentproduction这两个选项,没有none这个选项

请问这个解决了没有,
vue-cli2 webpack4 设置"dll":
"webpack --mode none --config ./build/webpack.dll.config.js",
直接报:webpack.optimize.UglifyJsPlugin has been removed, please use config.optimization.minimize instead. 请问怎么解决?

可以设置的 none 表示没有默认值

 mode: "production", // "production" | "development" | "none"
  mode: "production", // enable many optimizations for production builds
  mode: "development", // enabled useful tools for development
  mode: "none", // no defaults
  // Chosen mode tells webpack to use its built-in optimizations accordingly.
https://www.webpackjs.com/con...

这是我在react 中 使用的dll配置信息 供参考

const path = require('path');
const webpack = require('webpack');
const CleanWebpackPlugin = require('clean-webpack-plugin');

const vendors = [
  'antd',
  'axios',
  'nprogress',
  'react',
  'react-dom',
  'react-loadable',
  'react-redux',
  'react-router',
  'react-router-dom',
  'redux'
];

module.exports = {
  entry: {
    vendor: vendors
  },
  output: {
    path: path.resolve(__dirname, '../dll'),
    filename: 'Dll.js',
    library: '[name]_[hash]'
  },
  plugins: [
    new webpack.DllPlugin({
      path: path.resolve(__dirname, '../dll', 'manifest.json'),
      name: '[name]_[hash]',
      context: __dirname
    }),
    new CleanWebpackPlugin(['../dll'], { allowExternal: true })
  ]
};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进