使用 grunt 在 angular 指令中调用 js 文件
Call js file in angular directive using grunt
我写了一个指令,在使用 grunt build
命令之前效果很好。事实上,我在下面进行了这个初始化,但由于构建后库的路径不正确,所以它不再起作用了:
element.intlTelInput({
validationScript: "bower_components/intl-tel-input/lib/libphonenumber/build/isValidNumber.js",
preferredCountries: ['ch', 'fr']
});
是否可以有一个在 app 和 dist(在 grunt 构建之后)上下文或类似的东西中都可以工作的相对路径?
感谢您的帮助
你可以尝试grunt-ng-constant,有两种配置,一种用于本地环境,另一种用于生产环境,并在构建任务中在所有过程之前添加生产ngconstant,示例:
ngconstant: {
options: {
dest: 'app/scripts/configuration.js',
name: 'configuration'
},
local: {
constants: {
'validationScript': 'bower_components/intl-tel-input/lib/libphonenumber/build/isValidNumber.js',
}
},
dist:{
constants: {
'validationScript': 'prodPathFile',
}
}
},
grunt.registerTask('build', [
'ngconstant:dist',
'other_tasks'
]);
只需要为您的 angular 应用程序配置模块,并在您的指令中使用常量 validationScript,例如:
app.directive('yourdirective', ['validationScript', function(validationScript) {
return {
link: function(scope, element) {
element.intlTelInput({
validationScript: validationScript,
preferredCountries: ['ch', 'fr']
});
}
}
}]);
我写了一个指令,在使用 grunt build
命令之前效果很好。事实上,我在下面进行了这个初始化,但由于构建后库的路径不正确,所以它不再起作用了:
element.intlTelInput({
validationScript: "bower_components/intl-tel-input/lib/libphonenumber/build/isValidNumber.js",
preferredCountries: ['ch', 'fr']
});
是否可以有一个在 app 和 dist(在 grunt 构建之后)上下文或类似的东西中都可以工作的相对路径?
感谢您的帮助
你可以尝试grunt-ng-constant,有两种配置,一种用于本地环境,另一种用于生产环境,并在构建任务中在所有过程之前添加生产ngconstant,示例:
ngconstant: {
options: {
dest: 'app/scripts/configuration.js',
name: 'configuration'
},
local: {
constants: {
'validationScript': 'bower_components/intl-tel-input/lib/libphonenumber/build/isValidNumber.js',
}
},
dist:{
constants: {
'validationScript': 'prodPathFile',
}
}
},
grunt.registerTask('build', [
'ngconstant:dist',
'other_tasks'
]);
只需要为您的 angular 应用程序配置模块,并在您的指令中使用常量 validationScript,例如:
app.directive('yourdirective', ['validationScript', function(validationScript) {
return {
link: function(scope, element) {
element.intlTelInput({
validationScript: validationScript,
preferredCountries: ['ch', 'fr']
});
}
}
}]);