Angularjs 控制吞咽角度文件排序js顺序
我使用gulp构建应用程序,使用gulp angular filesort将脚本注入index.html文件 项目结构如下所示:Angularjs 控制吞咽角度文件排序js顺序,angularjs,gulp,Angularjs,Gulp,我使用gulp构建应用程序,使用gulp angular filesort将脚本注入index.html文件 项目结构如下所示: app |_modules |_module1 |_module1.module.js |_module1.controllers.js |_module2 |_module2.module.js
app
|_modules
|_module1
|_module1.module.js
|_module1.controllers.js
|_module2
|_module2.module.js
|_module2.controllers.js
|_modules.module.js
假设module1使用module2。所以,我希望module2脚本在module1之前被注入
modules.module.js内容:
agnular.module('app.modules',['app.modules.module2','app.module.module1']))
modules.module1.js内容:
agnular.module('app.modules.module1',['app.module2']))
modules.module2.js内容:
agnular.module('app.modules.module2',[])
但无论如何,脚本的注入顺序是错误的:首先是module1,然后是module2。如何控制脚本顺序正确?尽管gulp angular filesort的基本用法显而易见,但我会将其与我使用的一些偏差一起发布在这里
var angularFilesort = require('gulp-angular-filesort'),
inject = require('gulp-inject');
gulp.src('./src/app/index.html')
.pipe(inject(
gulp.src(['./src/app/**/*.js']).pipe(angularFilesort())
))
.pipe(gulp.dest('./build'));
“注意不要使用gulp.src的读取选项!此插件分析每个文件的内容以确定排序顺序。”
这是直接取自
下面的示例使用流。我收集不同的js流(例如来自bower组件、我自己的angular文件等)并对angular文件进行排序
streams.applicationJS = function () {
return gulp.src( src + "/js/**/*.js", {base: src} );
};
...
var libsAndAppJs = series(
streams.bowerFiles(),
streams.applicationJS().pipe( angularFilesort() )
);
var allIndex = gulp
.src( src + "/htdocs/*/index.html", {base: src + "/htdocs"} )
.pipe( inject( libsAndAppJs,
{
ignorePath: srcPrefix, addPrefix: "/directory"
} ) );
还有一个稍微不同的例子:
var jsFiles = gulp.src( "**/*.js", { "cwd": src + "/js" } )
.pipe( rename( function ( path ) {
path.dirname = "/dir/js/" + path.dirname;
} ) )
.pipe( angularFilesort() );
...
return gulp.src( indexFile )
.pipe( inject( series( vendorJsFiles, jsFiles, vendorCssFiles, cssFiles ),
{
ignorePath: "bower_components",
addSuffix: "?" + new Date().getTime()
} ) )
.pipe( gulp.dest( dest ) )
.on( "error", function ( err ) {
console.log( err.message );
} );
注入文件的吞咽任务是什么样子的?如果您正在使用read选项,则设置为false的read选项可能会导致问题?上面的代码中也有一个输入错误:“agnular”应该是“angular”