我在babel-loader
文件中使用webpack.config.js
,但我注意到它删除了表单的许可证注释:
/*! whatever **/
有没有办法保存它们?
我注意到babel有comments
选项,但我想这会保留任何评论,而不仅仅是许可证。
const webpack = require('webpack');
module.exports = {
resolve: {
alias: {
'vue$': 'vue/dist/vue.js'
}
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: {
scss: 'vue-style-loader!css-loader!sass-loader',
js: 'babel-loader'
}
}
},
{
test: /\.js$/,
use: {
loader: 'babel-loader',
}
}
]
},
plugins: [
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false,
drop_console: false,
}
})
],
};
我已经尝试过:
plugins: [
new webpack.optimize.UglifyJsPlugin({
output:{
comments: true
}
})
以及comments: '/^!/'
和comments: /^!/
。
什么都行不通。
如果我从webpack配置中删除整个plugins
选项,它只会保留注释。
我还尝试使用许可证评论,例如:
/** comments */
/*! comments */
/*! @license comments */
/*! @preserve comments */
答案 0 :(得分:2)
这是bug,自2015年以来一直在webpack / uglify中使用,但从未得到修复。
他们推测是使用this来解决问题,而是将def check(myList):
if len(myList) <= 1:
return False
if myList[0] == myList[1]:
return True
if check([myList[0]] + myList[2:]):
return True
if check(myList[1:]):
return True
return False
print(check([1,2,2,3,4]))
Sample output: 2
添加到extractComments
,但仍然无法在some people上使用,因此一年后的2019年{{3} }已打开,可以修复它。
true
因此,这是一个已经存在多年的已知错误。也许确实存在骇客,但这是一般情况。
答案 1 :(得分:0)
尝试添加public List<CategoryNew> ConverModelToNew(List<CategoryModel> lstCatModel){
List<CategoryNew> lstCatNew = new List<CategoryNew>();
foreach(var item in lstCatModel){
lstCatNew.Add(new CetagoryNew(item));
}
return lstCatNew;
}
选项。
output
我不确定它是否会起作用,因为我从未使用它。 有关详细信息,请参阅this
请告诉我它是否有效。
答案 2 :(得分:0)
工作技巧:
const WrapperPlugin = require('wrapper-webpack-plugin');
let licenseComments = [];
module.exports = {
...
optimization: {
minimize: true,
minimizer: [
new UglifyJsPlugin({}),
new WrapperPlugin({
header: function () {
var unique = licenseComments.filter((v, i, a) => a.indexOf(v) === i);
return unique.map(x => '/*' + x + '*/').join('\n');
}
})
],
},
module: {
{
test: /\.js$/,
use: {
loader: 'babel-loader',
options: {
shouldPrintComment: (val) => {
if (/license/.test(val)) {
licenseComments.push(val);
}
return false;
},
}
}
}
...