art-template-loader
art-template-loader copied to clipboard
关于清除注释的问题
我用的是webpack,然后我在webpack里面的设置是这样的 { test: /.art$/, loader: "art-template-loader", options: { htmlResourceRoot: path.join(__dirname, 'img'), root: path.resolve(__dirname), // htmlMinifier: htmlMinifier, htmlMinifierOptions: { removeComments: true, collapseWhitespace: true, minifyCSS: true, minifyJS: true } } },为了清除掉注释,但是最后没有生效,然后我用npm安装了html-minifier的包,var htmlMinifier = require('html-minifier').minify;也试了这种var htmlMinifier = require('html-minifier'),最后都没生效,请问这是什么原因?(我是把,art文件用require引入的)
请提供demo
这是我专门为重现问题建的一个demo,这是地址 https://github.com/tuhongwei/issueDemo ,clone下来之后 运行npm install,然后运行gulp dev
我调试了 art-template-loader/src/index:10,发现 let options = loaderUtils.getOptions(this) || {};
得不到 options,可能不支持 v1.x 版本的的 webpack
建议升级 webpack 到 3,然后 webpack.config.js 第 29 行删除
那我换成最新版的webpack试试
我升级到了最新版的webpack还是不行,代码已提交
webpack3 的配置不兼容 v1 的,如果你运行 webpack3 没有报错你应该检查下 webpack 版本是否已经到了 v3 了。
webpack版本在控制台有输出,已经从原来的v1版本变成了v3版本,然后我又把webpack的配置换成v3的配置试了还是不行
Same here! Cannot minify HTML sources
same here...
同样的问题,参数看起来不起任何作用。
same issue, webpack is 4.6.0
试试 cache: false,我也是同样的问题,但后来过了一段时间又好了,也没有改变什么设置。
这是我的配置,可以参考下
{
test: /\.art$/,
loader: 'art-template-loader',
options: {
debug: false,
minimize: true,
// htmlMinifier: htmlMinifier,
htmlMinifierOptions: {
// removeAttributeQuotes: true,
bail: true,
cache: false,
collapseWhitespace: true,
minifyCSS: true,
minifyJS: true,
removeComments: true,
// automatically merged at runtime: rules.map(rule => rule.test)
ignoreCustomFragments: []
},
}
}
@sbmzhcn LGTM