javascript - 使用带有 base-href 参数的 npm run build 的角度部署不会呈现页面
问题描述
最近我遇到了一个问题,我们在构建管道 yaml 脚本中使用了“npm run build”命令。然后是'base-href','configuration'等参数。构建通过并且部署成功但是当我们测试应用程序时,它不会呈现页面,但控制台会出现以下或类似的错误。
Failed to load module script: The server responded with a non-JavaScript MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.
runtime-es2015.js:1
Failed to load module script: The server responded with a non-JavaScript MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.
polyfills-es2015.js:1
Failed to load module script: The server responded with a non-JavaScript MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.
vendor-es2015.js:1
Failed to load module script: The server responded with a non-JavaScript MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.
main-es2015.js:1
我们在 yaml 中使用的命令是
npm run build -- "-c=<environment> --base-href='/Domain-href-url/'"
SO中建议的类似问题没有解决或帮助,因为脚本本身在本地工作,使用package.json cmds工作正常,在Azure管道中使用vNext构建管道进行角度工作(如果没有传递参数)。但是我们需要环境参数和base-href。
解决方案
我在这里发布这个问题,因为它可能对在他们的 yaml 脚本中也有/面临这个问题的人有所帮助。
我找不到任何更好的解决方案帮助来源,但最终我找到了一个有帮助的链接。
此外,由于我们传递的 base-href 的参数值,问题仍然存在。如果我们在参数中传递 --base-href='/Domain-href-url/' (如单引号或双引号),它将创建 index.html
<base href="'/Domain-href-url/'">
查看带有单引号的href url .. 这会导致这个麻烦。
所以解决方案是:(相当简单:-))传递不带引号的参数。
npm run build -- --base-href=/Domain-href-url/
<base href="/Domain-href-url/">
相信我,这将解决通过 yaml 脚本和构建管道将这些构建参数作为参数传递时引起的问题。
现在,如果我们遵循相同的脚本命令,使用 package.json 中的脚本为其他人提供的替代解决方案也将起作用。
如我的用例示例:
"build-qa": "ng build -c=test --base-href=/Domain-href-url/",
希望这对在构建节点或角度应用程序的构建管道 yaml 脚本中面临此类问题的人有所帮助。
推荐阅读
- ios - 我可以在没有苹果开发者帐户的真实苹果设备上测试我的 Flutter 应用程序吗?如果可以,我该怎么做?
- c++ - C++ 数学特殊函数中的 std::complex<>:技术规范或提案
- c++ - 如何使用 QtCreator 将应用程序与“libqsqlpsql.so”链接?
- azure - 新 Kubernetes 集群自动扩展节点的预拉映像
- python - matplotlib.FuncAnimation 中的 func 问题未更新数据
- asp.net-core - ASP.Net Core 3.1 Identity 的主键/ID 的 Guid 而不是字符串
- java - 如何将“AES”密钥从 byth[] 转换为 UTF-8 字符串
- python - 重新采样数据框会产生意想不到的结果
- reactjs - TypeScript React Axios GET Request Returning Empty String Instead Of JSON
- amazon-cloudformation - 参数存储中所有 Windows 服务器名称的列表