进行生产构建时如何使用带有 WebPack 的 AngularCLI 复制选定的文件
Posted
技术标签:
【中文标题】进行生产构建时如何使用带有 WebPack 的 AngularCLI 复制选定的文件【英文标题】:How to copy selected files with AngularCLI with WebPack when doing production build 【发布时间】:2017-01-27 17:23:15 【问题描述】:我使用带有 WebPack 的 Angular CLI 构建 Angular2 应用程序的生产版本需要将一些文件复制到 dist 文件夹,以便我可以将应用程序部署到我们的生产 (IIS) 服务器。具体来说,我需要从 src 文件夹复制到 dist 文件夹的 web.config 和 favicon.ico 文件。 web.config 文件是必需的,因此我可以为 html5 路由应用 URL 重写规则。
我假设我们需要将这些静态文件添加到 angular-cli.json 文件中,但不确定在哪里列出这些文件,以便将它们包含在生产构建中。
提前致谢。
【问题讨论】:
您可以使用资产选项吗?例如``` "project": "version": "1.0.0-beta.14", "name": "client" , "apps": [ "assets": "assets", ... ``` web.config 必须复制到 index.html 所在的根目录。这是我的理解资产被复制到资产文件夹。 我猜这个问题是相关的:github.com/angular/angular-cli/issues/1942 @尤里。感谢您的链接。似乎没有解决此问题的方法。希望它会很快得到修复 How to include custom files with angular-cli build?的可能重复 【参考方案1】:目前(angular-cli v1.0.0-beta.26),如果您想将文件和文件夹复制到构建中,您可以在assets
配置文件中的assets
属性中列出它们。
"assets": [
"web.config",
"favicon.ico",
"some_file",
"some_folder",
...
]
gist 中的配置示例。
将web.config
和favicon.ico
文件放到项目的./src/
文件夹中。
您应该可以通过网址 /web.config
和 /favicon.ico
为它们提供服务。
如果您包含文件夹,则它们需要成为 url 的一部分,即/some_folder/some_subfolder/another_file.txt
。
Angular-CLI README
Similar answer
【讨论】:
以上是关于进行生产构建时如何使用带有 WebPack 的 AngularCLI 复制选定的文件的主要内容,如果未能解决你的问题,请参考以下文章
.json 数据显示在 webpack 服务器中,但不显示在生产版本中