如何标记Angular 2应用程序的版本?
有一些问题,例如视图(来自templateUrl
)未在路径视图(子组件)中更新。我尝试过像
<script>
System.config({
// baseURL: '/',
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('v1/app/boot')
.then(null, console.error.bind(console));
</script>
或app/v1/boot
并与base
一起玩,但它无效。
注意:仅为了记录,在开发时,缓存的模板(通过templateUrl
引入)会使事情变得烦人。一个人应该使用隐身会话或清理浏览器等。我通过在像export var fileVersion = '?tmplv=' + Date.now();
之类的模块中引入全局变量来解决这个问题,并在以下组件中使用它:
@Component({
selector: 'my-component',
templateUrl: '/app/templates/my-component.html' + fileVersion,
})
所以我只需刷新浏览器即可查看更改。在制作中,请使用fileVersion = '';
或类似export var fileVersion = '?tmplv=v3';
。
答案 0 :(得分:1)
我正在处理同样的问题。 我正在寻找像filerev Node包这样的东西。 目前,我的解决方案是使用角度2来清除缓存:
首先导入RuntimeCompiler。
alphaMin_txt
接下来在构造函数中注入RuntimeCompiler。
AlphaMin
最后用它来清除缓存。请注意,这会清除所有模板。
public partial class MainWindow : Window, INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
private string _alphaMin;
public string AlphaMin
{
get { return _alphaMin; }
set
{
if (value != _alphaMin)
{
_alphaMin = value;
NotifyPropertyChanged();
}
}
}
}