如何从 Angular 项目中使用 javascript 导出独立的 html/css?

Posted

技术标签:

【中文标题】如何从 Angular 项目中使用 javascript 导出独立的 html/css?【英文标题】:How to export standalone html/css with javascript from angular project? 【发布时间】:2021-11-12 02:04:30 【问题描述】:

我有一个带有 html/CSS/component(.ts 文件)/service(.ts 文件)的 Angular 项目。 服务方法正在从 assets 文件夹中的 .json 文件中读取数据(不调用后端)。

我正在做一个产品构建,它将在 dist 文件夹中生成 html/CSS/javascript 文件。

问题是生成的 index.html 文件没有渲染,在没有服务器(应用程序服务器)的浏览器中显示空白屏幕。我的要求是让这个 HTML 离线工作。

如何将独立的 html/CSS/javascripts 导出为 Angular 项目中的离线 html?

生成的 dist 文件夹结构:

【问题讨论】:

你看控制台了吗?有什么错误吗?是否有任何不应该触发的http请求?您需要向我们提供有关此“空白页”的更多详细信息。 这是正常的。您必须在服务中托管您的 dist 文件才能查看应用程序。在开发过程中,我们通常使用ng serve @Gaël J,控制台没有错误。 http请求很好(无论如何这些是来自json文件的静态数据,工作正常)。问题通常是,如何将 Angular 项目转换为无需任何服务器即可工作的静态文件集(html/js/css/json)。 明白,到目前为止你做对了。如果您编写的代码不需要任何服务器,则 prod build 的输出可以在没有任何服务器的浏览器中使用。这就是为什么我们需要更多细节 【参考方案1】:

您可以使用http-server 包来做到这一点。

首先安装全局包

npm install http-server -g

然后在你的项目目录中(在终端中)运行

http-server dist/

如果您使用的是 Angular 6+ 或更高版本(使用 Angular 10),则必须运行

http-server dist/your-project-name

现在你可以访问 http://localhost:8080 来查看你的应用了

【讨论】:

感谢您的建议,我们希望将此 html/js/data 导出并提供给用户,以便他们可以离线使用(无需任何服务器)。对此有什么建议吗?

以上是关于如何从 Angular 项目中使用 javascript 导出独立的 html/css?的主要内容,如果未能解决你的问题,请参考以下文章

如何直接从您的 Angular 项目中调用 Firebase Cloud Function

如何使用 msbuild 从 dotnetcore web-api 项目中触发“ng build”,但将 angular 项目保存在单独的文件夹中?

如何将 Angular 项目版本从 12.2.5 降级到 12.2.1?

AngularJS 2.0入门指南

如何从.net core 2.1 Angular 6模板中的非相对路径导入ts和scss文件

如何从 VS Code 调试 Angular 6 子项目