![](/img/trans.png)
[英]Parceljs / PostHTML - keeping .htm files from being renamed to .html
[英]Avoid JS variable renaming in HTML files on ParcelJS
我使用 ParcelJS 作为模块捆绑器,出于某些原因,我在 HTML 中使用 JS 变量,这些变量稍后将由 JS 代码读取。
在我的 HTML 中:
<script>
var myVar = {
key1: 'value1',
key2: 'value2'
};
</script>
在我的 JS 中:
console.log(window.myVar.key1);
当我使用parcel build
构建 static 站点时, HTML 中的 JS 变量被重命名,因此我无法再从 JS 文件中读取它:
<script>var a = { key1: 'value1', key2: 'value2' };</script>
根据Parcel docs ,看起来重命名(修改)是由htmlnano完成的,它在引擎盖下使用Terser进行 JS 缩小。
我尝试使用具有以下内容的.htmlnanorc
文件:
{
"minifyJs": {
"mangle": false
},
"removeComments": false
}
我只添加了removeComments
选项,只是为了确保正在处理.htmlnanorc
文件。 HTML 注释被保留,所以它是。
但是 JS 变量不断被重命名,即使我根据他们的文档尝试了几个 Terser 配置。 所以看起来 htmlnano 忽略了minifyJs
键下的任何配置。
有什么我做错了吗? 或者它可能是某种 ParcelJS 或 htmlnano 错误?
将变量名称更改为
<script>
window.myVar = {
key1: 'value1',
key2: 'value2'
};
</script>
没有使用parcel.js
更改此行为的选项,因此您必须通过解决方法 go 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.