如何将带参数的参数传递给 gulp?
How can I pass argument with parameter to gulp?
我想做类似的事情
gulp build --param1=abc
并且我希望此参数在 Angular Service/Controller 中可用。
有什么办法可以做到吗?
是的。我建议在您的 Gulp 配置中创建一个 Angular 常量,可以将其注入应用程序的任何部分。
var ngConstant = require('gulp-ng-constant');
var args = require('yargs').argv;
gulp.task('constant', function () {
var selectedConstant = args.env || 'dev'; // if --env is not declared, assume dev
var constants = {
dev: {
ENV: {
'api': 'api.someUrl.com',
'url': 'dev.url.com'
}
},
prod: {
ENV: {
'api': 'api.someUrl.com',
'url': 'dev.url.com'
}
},
};
return ngConstant({
name: 'app', // name of your module
constants: constants[selectedConstant],
stream: true
})
.pipe(gulp.dest('src'));
});
gulp.task('build', function () {
runSequence(
['constant']
)
});
现在,您可以 运行 gulp build --env=prod
,这将在您的 /src/
文件夹(或您指定的任何位置)中创建一个名为 constants.js
的文件。现在将此文件包含在您的 index.html
.
中
您现在可以在您的服务或控制器中的任何位置注入常量 ENV
并引用其中的变量。
angular.module('app')
.service('SomeService', function(ENV) {
// access ENV vars here
});
.controller('SomeCtrl', function($scope, ENV) {
// access ENV vars here
});
我想做类似的事情
gulp build --param1=abc
并且我希望此参数在 Angular Service/Controller 中可用。 有什么办法可以做到吗?
是的。我建议在您的 Gulp 配置中创建一个 Angular 常量,可以将其注入应用程序的任何部分。
var ngConstant = require('gulp-ng-constant');
var args = require('yargs').argv;
gulp.task('constant', function () {
var selectedConstant = args.env || 'dev'; // if --env is not declared, assume dev
var constants = {
dev: {
ENV: {
'api': 'api.someUrl.com',
'url': 'dev.url.com'
}
},
prod: {
ENV: {
'api': 'api.someUrl.com',
'url': 'dev.url.com'
}
},
};
return ngConstant({
name: 'app', // name of your module
constants: constants[selectedConstant],
stream: true
})
.pipe(gulp.dest('src'));
});
gulp.task('build', function () {
runSequence(
['constant']
)
});
现在,您可以 运行 gulp build --env=prod
,这将在您的 /src/
文件夹(或您指定的任何位置)中创建一个名为 constants.js
的文件。现在将此文件包含在您的 index.html
.
您现在可以在您的服务或控制器中的任何位置注入常量 ENV
并引用其中的变量。
angular.module('app')
.service('SomeService', function(ENV) {
// access ENV vars here
});
.controller('SomeCtrl', function($scope, ENV) {
// access ENV vars here
});