首页 > 解决方案 > 如何在没有服务器的情况下运行角度编译页面

问题描述

我使用的是 Angular 6。我正在使用这个 cli 命令构建我的项目:

ng build --prod --base-href=

dist/index.html然后,我直接打开,没有服务器,在那些快乐的日子里,我可以离线使用我的项目。

最近我已将 angular 更新为 8。现在,我使用相同的命令进行构建。但是,现在我收到CORS错误:

CORS 策略已阻止从源“null”访问“file:///D:/...../polyfills-es2015.707fe33a73ba6b994c2b.js”处的脚本:跨源请求仅支持协议方案:http ,数据,铬,铬扩展,https。

发生了什么变化?我怎么能像以前一样离线使用我的项目?

编辑:

现在我可以回答了

“有什么变化?”

之前,在index.htmltypefor 脚本是"text/javascript". 但现在我明白了"module"

前:

<script type="text/javascript" src="main.90ef8874f90877154126.bundle.js">

现在:

<script src="main-es2015.057f1c108bdef8198685.js" type="module">

当我将模块转换为文本/javascript时,它可以工作。

但是现在我不知道是什么type="module",为什么 angular 或 cli 开始放置“模块”,为什么 Chrome 不允许它,以及我如何强制 angular 不放置“模块”而只是放置“文本/javascript” .

标签: angularcors

解决方案


我从来没有尝试过做这件事(因为我从来没有需要)但是一个想法可能是用 Electron 将你的应用程序转换为桌面应用程序。有像 Hyper(似乎也是 VS Code)这样的软件,它们实际上是 Javascript/html/css 软件,但它们被设计为在桌面上运行,而不是在 Web 浏览器上运行。

参考:https ://www.electronjs.org/

我想你的需要就是这样。


推荐阅读