使用 ASP.NET Core 的最佳实践是什么bundleconfig.json
开发环境与生产环境?先前的捆绑器(捆绑集合)会注意 DEBUG 编译器指令,并且在调试时不会缩小脚本列表。
看起来新的范式似乎是<environment>
HTML 模板中的标签用于测试ASPNETCORE_ENVIRONMENT
价值。虽然我没有看到将该环境变量合并到bundleconfig.json
工作流程。
我看到的一种方法是为每个包输出维护 2 个列表bundleconfig.json
、缩小版和非缩小版,以便可以调试 JavaScript。或者,我可以在开发中放置指向未捆绑的 JavaScript 的直接链接<environment>
标记,然后在生产/暂存中引用捆绑和缩小的版本<environment>
tag.
无论哪种方式,都需要维护 2 个 JavaScript 文件列表(所有这些也适用于 CSS 文件)。对我来说,这似乎是一种倒退,之前您只需要维护一个源文件列表,而 BundleCollection 只会在适当的时候缩小。
我是否在这里遗漏了一些东西,或者我是否需要进一步研究 Gulp 才能处理不同的环境?
我并不认为这是最佳实践,但以下内容对我有用。
In the bundleconfig.json
我准备了一组用于开发,一组用于生产。
用于开发的Bundle只是串联的文本,易于阅读和调试。
用于生产的捆绑包已缩小,并且可以选择包含源映射。
{
"outputFileName": "wwwroot/script.bundle.js",
"inputFiles": [
"wwwroot/node_modules/popper.js/dist/umd/popper.js",
"wwwroot/node_modules/jquery/dist/jquery.js",
"wwwroot/node_modules/bootstrap/dist/js/bootstrap.js"
],
"minify": {
"enabled": false,
"renameLocals": false
}
},
{
"outputFileName": "wwwroot/script.min.js",
"inputFiles": [
"wwwroot/script.bundle.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
// Optionally generate .map file
"sourceMap": false
}
关键是,生产包仅使用开发包。这样我就只需保留一份清单。
在页面上需要 JS 的地方,我为两个包添加了标签。
<environment include="Development">
<script src="script.bundle.js" type="text/javascript"></script>
</environment>
<environment exclude="Development">
<script src="script.min.js" type="text/javascript"></script>
</environment>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)