Rik*_*ard 5 javascript webpack
我正在编译需要以下版本值的代码package.json:
import {version} from '../package.json';
export default {version};
Run Code Online (Sandbox Code Playgroud)
当我看到.jswebpack输出的文件时,我看到了整个文件package.json!
我怎么能避免这个?
我的设置是:
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': '"production"'
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
new CompressionPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: /\.(js|css)$/,
threshold: 10240,
minRatio: 0.8
}),
]
Run Code Online (Sandbox Code Playgroud)
我的webpack版本是 3.8.1
我通常做的是利用DefinePlugin
// webpack.config.js
// getting the version
const package = require("./package.json");
const version = package.version;
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': '"production"',
'process.env.VERSION': version,
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
new CompressionPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: /\.(js|css)$/,
threshold: 10240,
minRatio: 0.8
}),
]
Run Code Online (Sandbox Code Playgroud)
现在在你的代码中,你要做的就是使用process.env.VERSION,你将输出你的包版本.
希望它有所帮助