什么是创建配置文件(类似于.net中的web配置),用于存储url和其他可能在应用程序部署期间变化的常量的最佳方式?
使用.constant()方法:
angular.module('app').constant('MONGOLAB_CONFIG',{ baseUrl: '/databases/',dbName: 'ascrum' });
喜欢在this example。
然后你可以只注入它需要的常量。
您可以为开发或生产定义不同的常数,然后使用Grunt等工具根据环境使用此文件或该文件。
让我们假设你有这样的文件夹结构:
|-js/ | |-app.js | |-anotherfile.js | |-... | |-env/ | |-dev.js | |-prod.js | |-index.html
dev.js和prod.js使用不同的值定义相同的.constant()服务。
然后你可以得到正确的文件连接gruntFile像这样:
grunt.registerTask('default',['concat']); grunt.initConfig({ env : process.env.NODE_ENV,src: { javascript: ['js/*.js'],config: ['env/<%= env %>.js'] },concat: { javascript: { src:['<%= src.config %>','<%= src.javascript %>'],dest:'myapp.js' } } });
通过运行grunt你会得到一个myapp.js文件包含良好的常量。
编辑:使用Gulp你可以这样做:
var paths = [ 'env/' + process.env.NODE_ENV + '.js','js/**/*.js',]; var stream = gulp.src(paths) .pipe(plugins.concat('main.js')) .pipe(gulp.dest('/output'));