不确定这是否可行。创建了新的angular-cli项目,运行ng服务器并打开浏览器。啊,真灵。
运行ng build --prod,使用index.html和多个js包创建dist文件夹。
然后我在浏览器中打开了index.html。挂起等待javascript (所以我只看到“正在加载...")。
这应该起作用吗?如果不是,有人能解释一下原因吗?
发布于 2016-09-19 21:09:33
你不应该只是打开这个文件。Web服务器是您生产使用所需的。
如果您希望使用内置服务器提供应用程序构建版本,则可以使用ng serve --prod命令。
发布于 2018-04-21 18:01:39
在使用ng build构建Angular之后,从当前目录使用http-server./dist。http-server是模块运行服务器nodeJS。
参考:https://www.npmjs.com/package/http-server
ng build <br>
http-server ./dist

发布于 2019-07-16 02:07:55
http服务器是一种实现
协议的软件,其主要目的是提供静态的html页面。
当您执行ng serve -o时,它启动服务器的唯一目的是当应用程序命中本地主机时(例如。http://localhost:4200/)提供文件main.js、polyfills.js、runtime.js和其他文件,例如favicon.ico或样式表,在浏览器足够智能后读取该文件并呈现应用程序
现在,当您运行ng build --prod=true时,它会创建包含所有必需依赖项的dist文件夹

如果你打开index.html,它不会向你显示像普通超文本标记语言页面(静态web应用)那样的内容,因为生成的index.html考虑到了服务器提供的所有依赖项。
<body>
<app-root></app-root>
<script type="text/javascript" src="runtime.ec2944dd8b20ec099bf3.js"></script>
<script type="text/javascript" src="polyfills.e6fbd82b34ccb0c8609f.js"></script>
<script type="text/javascript" src="main.de97b389e57e8b1c5843.js"></script>
</body>以下信息仅供理解之用,严禁在生产环境中进行此更改
如果你想像静态网页一样点击index.html就能打开应用程序,你需要更新这些路径
例如。使用创建基本项目
ng new my-appng build --prod=true
dist位置: D:\angular\dist\my-app,因此index.html将位于D:\angular\dist\my-app\index.html中。更新index.html,如下所示
<body>
<app-root></app-root>
<script type="text/javascript" src="angular/dist/my-app/runtime.ec2944dd8b20ec099bf3.js"></script>
<script type="text/javascript" src="angular/dist/my-app/polyfills.e6fbd82b34ccb0c8609f.js"></script>
<script type="text/javascript" src="angular/dist/my-app/main.de97b389e57e8b1c5843.js"></script>
在那之后重新加载你的网页。
https://stackoverflow.com/questions/39572889
复制相似问题