Angularjs 动态加载多个入口点并拆分输出
我有几个不同的角度模块,我想动态连接,这样每个模块都有一个不同的输出文件 因此,如果在resources/assets/js/angular/modules目录中,我有:Angularjs 动态加载多个入口点并拆分输出,angularjs,webpack,laravel-elixir,Angularjs,Webpack,Laravel Elixir,我有几个不同的角度模块,我想动态连接,这样每个模块都有一个不同的输出文件 因此,如果在resources/assets/js/angular/modules目录中,我有: Role - controllers roleIndexController - app.js Descriptions -controllers descriptionIndexController -app.js 我希望这是两个文件: RoleModule.js
Role
- controllers
roleIndexController
- app.js
Descriptions
-controllers
descriptionIndexController
-app.js
我希望这是两个文件:
RoleModule.js
DescriptionsModule.js
我不想每次添加一个新模块时都明确地将每个模块添加到gulp文件中
我曾尝试使用laravel elixir中的Web包添加glob字符:
require('laravel-elixir-webpack');
elixir(function (mix) {
mix.webpack(
['angular/app.js', '.angular/modules/**/app.js'],
{
output : {
filename : './angular/app.js'
}
})
还可以使用吞咽网页
和全球条目
:
gulp.task('compileAngularScripts', function(){
return gulp.src('angular/app.js')
.pipe(webpack({
entry : glob_entries('./resources/assets/js/angular/modules/**/app.js'),
output : {
filename : 'app.js'
}
}))
.pipe(gulp.dest('test/'));
});
我甚至不能让glob通配符来动态连接文件,更不用说将每个模块分解成自己的文件了
有没有办法用gulp实现这一点?我通过使用
glob
npm包和webpack
var glob = require('glob');
var webpack = require('gulp-webpack');
elixir(function (mix) {
.task('compileScripts')
gulp.task('compileScripts', function () {
return gulp.src('angular/app.js')
.pipe(webpack({
entry : entries(),
output : {
filename : "[name]Module.js"
}
}))
.pipe(gulp.dest('public/js/angular/modules'));
});
function entries() {
var entries = {};
glob.sync('./modules/**/Resources/assets/angular/app.js').forEach(function (url) {
var moduleNmae = url.split("/")[2];
entries[moduleNmae] = url;
});
return entries;
}