在本地构建(ng服务)

时间:2018-04-16 18:39:04

标签: angular deployment angular-cli

我正在开发一个Angular 5项目,该项目正在利用一些非NPM外部项目,目前正在将他们的示例/演示合并到我们正在进行的Angular应用程序中。这些演示中包括静态媒体文件,如.pngs,.wavs等。我已将这些资产放在dir结构中,如下所示:

src -> assets -> ext_app -> media/
src -> assets -> ext_app -> <'loose' app js files>
src -> assets -> ext_app -> appfactory/
src -> assets -> ext_app -> ext_dependencies/ -> dep1 -> <many folders>
src -> assets -> ext_app -> ext_dependencies/ -> dep2 -> <many folders>

运行ng build时,dist /目录完整地包含assets文件夹。但是,当运行ng serve时,找不到任何非JS文件,并查看&#34;来源&#34; Chrome开发工具(或Firefox Dev Edition中的调试器)上的选项卡仅显示.js文件和包含.js文件的目录,一直显示资产目录中的每个嵌套文件夹。包含其他文件类型的所有其他文件类型和目录似乎已被删除,或者未提供给浏览器。

我的.angular-cli.json拥有我所见过的资产:

"assets": [
    "assets",
    "favicon.ico"
],

应该根据我所见的处理所有嵌套文件夹。有谁知道我的设置中缺少什么?

1 个答案:

答案 0 :(得分:0)

您是否正确链接资源? Chrome Devtools只能查看代码中某处获取的资源,因此如果您对链接进行了不正确的格式设置,则无法显示这些资源。

应按以下方式访问静态资产:

文件夹: src/assets/images/an-image.jpg

URL: /assets/images/an-image.jpg