我在activity.view.js
中有这个视图:
var ViewActivity = Backbone.View.extend({
el: '#Activity',
events:{
'change #grade': 'gradeChanged'
},
initialize: function(params){
_.bindAll(this, 'gradeChanged', 'render');
this.model = new MyModel(params)
this.render();
},
gradeChanged: function(){
},
render: function(){
}
});
在HTML中,我将视图称为:
<script>
var view = new ViewActivity({
foo: 'bar'
});
</script>
在这里,都没有问题。当我尝试使用webpack的插件UglifyJS
来压缩所有javascript时,问题出现了。在压缩activity.view.js
之后,ViewActivity对象无法像我那样示例化,因为压缩的代码:
!function(r){var n={};function e(t){if(n[t])return ..
浏览器控制台:未定义ViewActivity
当代码被压缩时,如何使用ViewActivity?提前感谢
我忘了提到我使用了下面的配置,但压缩代码保持不变:
plugins: [
new UglifyJsPlugin({
uglifyOptions: {
keep_classnames: true,
keep_fnames: true,
mangle: {
reserved: ["VistaPago"]
}
}
})
]
1条答案
按热度按时间jvidinwx1#
小型化器认为
ViewActivity
是一个局部变量,因此压缩它的赋值名是安全的。你可以这样做:或者,您可以在
activity.view.js
中定义一个工厂方法来示例化它: