我在使用grunt build
命令之前编写了一个很有效的指令。事实上,我在下面的这个初始化不再起作用,因为在构建之后,库的路径不正确:
element.intlTelInput({
validationScript: "bower_components/intl-tel-input/lib/libphonenumber/build/isValidNumber.js",
preferredCountries: ['ch', 'fr']
});
是否有可能在app和dist(在grunt构建之后)上下文或其他类似的东西中使用相对路径?
感谢您的帮助
答案 0 :(得分:1)
您可以尝试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'
]);
只需要配置模块到您的角度应用程序,并在您的指令中使用常量validationScript,例如:
app.directive('yourdirective', ['validationScript', function(validationScript) {
return {
link: function(scope, element) {
element.intlTelInput({
validationScript: validationScript,
preferredCountries: ['ch', 'fr']
});
}
}
}]);