ember 资产 - “公共”资产不应该被指纹识别,但它们是?

gla*_*con 1 build ember.js

在我的 Ember.js 3.8 项目中,我有一个图像文件:

/public/assets/images/foo.png

...根据这个(诚然有点过时),放入的文件在public/assets/images引用为assets/images.

这是最新的,不太明确,但表示放置在下面的项目public最终会在assets.

当我进行生产构建时,我所拥有的文件/public/assets/images/最终会/dist/assets/images/带有指纹,例如foo-97cf8c0765aefa517d22e1fc71f43d6e.png.

我的意思是明确禁止指纹吗?doco 似乎表明这没有必要?

mis*_*nry 6

看看这些ember-cli 文档,特别是:

当环境为生产环境时(例如 ember build --environment=production),插件将通过在文件名末尾附加一个 md5 校验和(例如 assets/yourapp- 9c2cbd818d09a4a742406c6cb8219b3b.js)。此外,您的 html、js 和 css 文件将被重写以包含新名称。您可以在 ember-cli-build.js 中传递给 EmberApp 的几个选项来自定义此行为。

从指纹识别的角度来看,对图像进行指纹识别也是有意义的,因为您可能需要更改它们并且不想等到缓存 TTL 过期。

您可以删除特定文件

fingerprint: {
  exclude: ['assets/images/user.png']
}
Run Code Online (Sandbox Code Playgroud)

或整个文件扩展名

fingerprint:{
  extensions: ['js', 'css', /* all the extensions you do want excluding image ones */]
}
Run Code Online (Sandbox Code Playgroud)