gpt4 book ai didi

javascript - 通过 Uglify 将主干与压缩 View 结合使用

转载 作者:行者123 更新时间:2023-12-03 01:58:18 25 4
gpt4 key购买 nike

我在activity.view.js中有这个 View :

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 中,我将 View 称为:

<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 ..

Browser console: ViewActivity is undefined

代码压缩后如何使用ViewActivity?提前致谢

我忘了提及我使用了以下配置,但压缩代码保持不变:

plugins: [
new UglifyJsPlugin({
uglifyOptions: {
keep_classnames: true,
keep_fnames: true,
mangle: {
reserved: ["VistaPago"]
}
}
})
]

最佳答案

压缩器认为ViewActivity是一个局部变量,因此压缩其分配的名称是安全的。您可以通过以下方式解决这个问题:

window.ViewActivity = Backbone.View.extend({

或者您可以在 activity.view.js 中定义一个工厂方法来实例化它:

window.createActivityView(foo) {
return new ViewActivity({
bar: foo
});
}

关于javascript - 通过 Uglify 将主干与压缩 View 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50144033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com