使用Angular Cli自定义生成的文件名

sne*_*eky 19 angular-cli angular

使用Angular-cli时,构建的文件名是main.[hash] .bundle.js使用时ng build -prod 是否可以从该文件名中删除哈希.那么main.bundle.js呢?

Rec*_*cep 43

它现在通过beta.25的命令选项支持.

这允许在构建期间通过新的构建命令选项配置输出文件名哈希--output-hashing.有四种可能的值:

none:没有执行散列

media:只为通过[url | file] -loaders处理的文件添加哈希值

bundles:仅向输出包添加哈希值

all:为媒体和包添加哈希

none是开发目标的默认值.all是生产目标的默认值.

更多细节在这里.

  • 谢谢.我永远不明白为什么他们不能把它放在文档中 (5认同)

Mad*_*jan 8

根据我的理解,hash它用于生成构建,因此不会遇到浏览器缓存问题,并且用户在使用新部署之前不必清除缓存.

我怀疑该angular-cli团队会给我们一个配置选项,我们必须等待检查.

同时,如果您想自定义构建过程,您可以自己构建webpack配置.

此外,CLI团队已表示将有一些webpack插件,这将有助于创建自己的webpack配置.在这里结帐.

更多细节,WEBPACK:简介.

希望这可以帮助!!


Kri*_*ula 6

我在package.json文件中为生产版本添加了以下脚本元素.

"scripts": {
    "prod" : "ng build --prod --output-hashing=none --base-href=./"
}
Run Code Online (Sandbox Code Playgroud)

然后跑

npm run prod
Run Code Online (Sandbox Code Playgroud)

将构建没有哈希的dist文件夹,并且还包括./ as base-href,以便相对于当前目录加载文件.