我正在javascript中构建一个非常大的脚本,我将它包装在一个匿名函数中,因此它不会在全局外层空间中。 这应该在多个站点上实现,作为暂时不需要任何公共API的服务(如果需要,我将只公开它想要的功能)。
这是我的一个巨大的js文件的示例:
"use strict";
(function() {
var MyApp = {};
/************************************************************
* MyApp helpers
************************************************************/
MyApp.Helpers = {};
/**
* Generate something
*/
MyApp.Helpers.someFunc = function() {
}
/************************************************************
* MyApp Widget
************************************************************/
MyApp.Widget = function() {};
/**
* Create / update widget's dom element
*/
MyApp.Widget.prototype.build = function() {
this.driver.build();
};
/************************************************************
* Widget Drivers
************************************************************/
MyApp.Widget.Drivers = {};
/************************************************************
* Some Driver
************************************************************/
MyApp.Widget.Drivers.SomeDriver = function(widget) {
this.widget = widget;
}
/************************************************************
* Run app
************************************************************/
// Fire in the hole!
MyApp.App.init();
})();
我想将它分解为多个目录下的多个文件,并在一个gulp函数中构建它。
截至目前这是js特定的gulp任务:
var jsFiles = [
'src/js/vendor/*.js', // polyfills and other non-project-specific plugins
'src/js/MyApp.js' // my huge js file
];
gulp.task('js', function () {
return gulp.src(jsFiles)
.pipe(concat('all.min.js'))
.pipe(uglify())
.pipe(gulp.dest('build/js'));
});
那么......这样做是否有意义,或者我只是做错了?如果我的问题是合乎逻辑的,我怎么能实现呢?
提前谢谢!