【发布时间】:2019-01-18 23:34:05
【问题描述】:
您好,我正在尝试使用定义插件,因此我可以更新版本号以确保我的 JS 在发布新版本后刷新。我似乎无法让 DefinePlugin 正常工作。我在文件夹 webpack 中看到它,我正在尝试遵循文档,但我收到了找不到它的错误。这是我的配置:
const path = require('path'),
settings = require('./settings');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
const webpack = require('webpack');
module.exports = {
entry: {
'scrollerbundled': [settings.themeLocation + "js/scroller.js"],
'mapbundled': [settings.themeLocation + "js/shopmap.js"],
'sculptor': [settings.themeLocation + "js/sculptor.js"]
},
output: {
path: path.resolve(__dirname, settings.themeLocation + "js-dist"),
filename: "[name].js"
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
],
plugins: [new webpack.DefinePlugin({
PRODUCTION: JSON.stringify(true),
VERSION: JSON.stringify('5fa3b9'),
})]
},
optimization: {
minimizer: [new UglifyJsPlugin({
uglifyOptions: {
mangle: true,
output: {
comments: false
}
}
})]
},
mode: 'production'
}
【问题讨论】:
-
在我的例子中,我使用了
'process.env.VARIABLE_NAME'而不是普通的变量并且它起作用了。
标签: javascript npm webpack