我正在使用凉亭和npm作为包管理器来处理依赖项。现在凉亭正在展示
npm WARN deprecated bower@1.8.2: ...psst!
Your project can stop working at any moment because its dependencies can change. Prevent this by migrating to Yarn:
https://bower.io/blog/2017/how-to-migrate-away-from-bower/
所以我使用yarn
整合了bower-away
。现在所有的bower依赖项都被移动到我的package.json中,如下所示
"@bower_components/angular": "angular/bower-angular#~1.6.4",
"@bower_components/jquery": "jquery/jquery-dist#>= 1.9.1"
我使用wiredep
将所有依赖库注入index.html。它将自动处理bower依赖项。
现在我完全删除了bower
,所以这不会起作用。
是否有任何其他方法可以将依赖项移动到index.html中。目前我使用gulp inject
方法注入所有文件,如下面的.pipe(inject(gulp.src(["./src/*.js", "./src/*.css"], {read: false}))
,但它并没有处理所有包。因为路径是完全不同的。
对于Ex:jquery和angular文件夹,如下所示
任何人都可以建议是否有其他方法来实现这一目标。
答案 0 :(得分:1)
您仍然可以使用gulp inject
修复它:
gulp.task('injectfiles', function () {
var appJS= ["./src/*.js"];// pattern to match your files
var libJS= [
'(path where jquery exist)/jquery.js',
'(path where angular exist)/angular.js'
];
var jsOrder= [
'**/jquery.js',
'**/angular.js',
'(rest lib js)'
'**/app.module.js',
'**/*.module.js',
'**/*.constants.js',
'**/*.value.js',
'**/*.config.js',
'**/*.route.js',
'**/*.filter.js',
'**/*.service.js',
'**/*.controller.js',
'**/*.directive.js',
'**/*.js'
];
var src = [].concat(libJS,appJS)
return gulp
.src('index path')
.pipe(inject(src, '', jsOrder))
.pipe(gulp.dest('dest path'))
})
function inject(src, label, order) {
// var options = { read: false };
var options = {}
if (label) {
options.name = 'inject:' + label
}
return $.inject(orderSrc(src, order), options)
}
function orderSrc(src, order) {
// order = order || ['**/*'];
return gulp
.src(src)
.pipe($.if(order, $.order(order)))
}