使用EmberJS

时间:2017-10-10 07:09:00

标签: javascript ember.js

我有下一个index.html:

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1"> {{content-for 'head'}}
  <meta name="fragment" content="!">

  <link rel="icon" href="/assets/favicon.ico">
  <link rel="stylesheet" href="{{rootURL}}assets/vendor.css?{{app-version hideSha=true}}">
  <link rel="stylesheet" href="{{rootURL}}assets/ember-drink-it.css?{{app-version hideSha=true}}"> {{content-for 'head-footer'}}
</head>

<body>
  {{content-for 'body'}}

  <script src="{{rootURL}}assets/vendor.js?{{app-version hideSha=true}}"></script>
  <script src="{{rootURL}}assets/ember-drink-it.js?{{app-version hideSha=true}}"></script>

  {{content-for 'body-footer'}}
</body>

</html>

我想在我的css和js文件中添加版本,以防止用户在版本增长时从缓存中加载这些文件。如您所见,我已尝试使用ember-cli-app-version插件,但由于某种原因,帮助程序在index.html文件中无效。

那么如何将版本添加到我的应用文件中呢?

1 个答案:

答案 0 :(得分:1)

您提到我想在我的css和js文件中添加版本,以防止用户在版本增长时从缓存中加载这些文件。

默认情况下,Ember CLI会在资产的网址末尾添加md5哈希值。这样浏览器就可以跟踪更改。这称为指纹识别。默认情况下,这在生产版本中启用。

要了解指纹识别,请查看this doc

此外,如果您想将您的版本用作指纹,而不是使用md5哈希;您可以自定义fingerprint选项。使用require('git-repo-version')获取价值,并将值设置为customHash的{​​{1}}。

但是,默认配置足够好。