使用AngularJS调试或发布模式
我有一个Angular应用程序,我正在使用Grunt,我为min、uglify和concat制作了Gruntfile,在我引用了我在main.html中用Grunt创建的新.js文件之后,当我发布我的项目时,一切都很好。但是,当我想做一些更改并想在调试模式下运行我的应用程序时,我必须在main.html中再次更改我的.js引用。有没有办法检查我的应用程序是否以什么模式运行,以便加载特定的.js文件? 我已经看到了如何在ASP.net中实现这一点,但在我的案例中如何解决它 下面是我的Grunfile.js使用AngularJS调试或发布模式,angularjs,gruntjs,Angularjs,Gruntjs,我有一个Angular应用程序,我正在使用Grunt,我为min、uglify和concat制作了Gruntfile,在我引用了我在main.html中用Grunt创建的新.js文件之后,当我发布我的项目时,一切都很好。但是,当我想做一些更改并想在调试模式下运行我的应用程序时,我必须在main.html中再次更改我的.js引用。有没有办法检查我的应用程序是否以什么模式运行,以便加载特定的.js文件? 我已经看到了如何在ASP.net中实现这一点,但在我的案例中如何解决它 下面是我的Grunfil
'use strict';
module.exports = function (grunt) {
grunt.initConfig({
clean: {
options: {force: true},
all: {
src: ['../Analaysis.UI/app_built/**/*.*']
}
},
ngmin: {
all: {
files: [
{
expand: true,
cwd: '../Analaysis.UI',
src: ['**/*.js'
, '!**/Scripts/*'
, '!**/Scripts/**/*'
, '!**/obj/*'
, '!**/obj/**/*'
, '!**/src/**/**/*'],
dest: '../Analaysis.UI/app_built/',
ext: '.js'
}
]
}
},
uglify: {
all: {
files: [
{
expand: true,
cwd: '../Analaysis.UI/app_built',
src: ['**/*.js'],
dest: '../Analaysis.UI/app_built/',
ext: '.min.js'
}
]
}
},
concat: {
js: {
options: {
separator: ';'
},
src: ['../Analaysis.UI/app_built/Global/global.min.js'
,'../Analaysis.UI/app_built/Global/config.min.js'
,'../Analaysis.UI/app_built/Global/GlobalService.min.js'
,'../Analaysis.UI/app_built/Login/LoginController.min.js'
,'../Analaysis.UI/app_built/Login/LoginService.min.js'],
dest: '../Analaysis.UI/app_built/app_built_login.js'
}
}
});
grunt.registerTask("default", ['build']);
grunt.registerTask('build', ['clean', 'ngmin', 'uglify', 'concat']);
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-ngmin');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');
};
对于每种类型的构建,您都需要不同的配置 检查下面的代码
'use strict';
module.exports = function (grunt) {
grunt.initConfig({
uglify: {
all: {
files: [
{
expand: true,
cwd: '../Analaysis.UI/app_built',
src: ['**/*.js'],
dest: '../Analaysis.UI/app_built/',
ext: '.min.js'
}
]
},
prod: {
files: [
{
expand: true,
cwd: '../Analaysis.UI/app_built',
src: ['**/*.js'],
dest: 'prod/Analaysis.UI/app_built/',//You can have different path according to build type
ext: '.min.js'
}
]
}
},
concat: {
js: {
options: {
separator: ';'
},
src: ['../Analaysis.UI/app_built/Global/global.min.js'
, '../Analaysis.UI/app_built/Global/config.min.js'
, '../Analaysis.UI/app_built/Global/GlobalService.min.js'
, '../Analaysis.UI/app_built/Login/LoginController.min.js'
, '../Analaysis.UI/app_built/Login/LoginService.min.js'],
dest: '../Analaysis.UI/app_built/app_built_login.js'
},
prod: {
options: {
separator: ';'
},
src: ['../Analaysis.UI/app_built/Global/global.min.js'
, '../Analaysis.UI/app_built/Global/config.min.js'
, '../Analaysis.UI/app_built/Global/GlobalService.min.js'
, '../Analaysis.UI/app_built/Login/LoginController.min.js'
, '../Analaysis.UI/app_built/Login/LoginService.min.js'],
dest: 'production/Analaysis.UI/app_built/app_built_login.js'
}
}
});
grunt.registerTask("default", ['build']);
grunt.registerTask('build', ['uglify', 'concat']);
//Task according to build. run "grunt debug" for debug build
grunt.registerTask('debug', ['uglify:all', 'concat:js']);
grunt.registerTask('prod', ['uglify:prod', 'concat:prod']);
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');
};
将GrunFile与configuration@Akhlesh-你能给我一些例子或资源让我学到更多吗?你能展示你的Grunfile吗?这将有助于我给出一个合适的例子。我将在下面发布。这很好,我现在得到了这个部分但是在HTML中引用我的脚本呢?在调试或发布时,如何切换引用?例如,在调试中:“../analysis.UI/app\u builded/app\u builded\u login.js”,在发布中:“/production/analysis.UI/app\u builded/app\u builded\u login.js”,您需要编写自定义任务来读取html文件,并在html文件中编写更改受尊重的引用。要获得更多帮助,请参阅grunt文档和grunt api以读取和写入文件OK,我将尝试一下。非常感谢