gpt4 book ai didi

javascript - 如何使用 Grunt 而不将所有内容压缩到单个文件中

转载 作者:行者123 更新时间:2023-12-03 12:09:03 24 4
gpt4 key购买 nike

我是第一次使用 Grunt。其他人已经设置/配置了 Gruntfile.js 配置文件。虽然它有效,但我发现非常烦人的是我的所有 js 文件都被缩减为带有映射文件的单个 app.min.js 文件。

因此,即使这有效,当我遇到错误或错误时,也不可能知道哪个源文件导致了 JS 错误。

有没有办法配置 Grunt 不将所有内容压缩到单个文件中,而是将所有内容保留为单独的包含内容?我喜欢只需要在 html 中包含一个 JS 的功能。

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
jsFilesApis: [
'client/vendors/apis/jquery-1.11.0.min.js',
'client/vendors/apis/bootstrap.min.js',
'client/vendors/apis/angular.1.2.16.min.js',
.....
],
jsFilesApp: [
'client/app/**/*.js'
],


'angular-injector': {
test: {
expand: true, // required
token: 'ng', // optional
src: '<%= jsFilesApp %>',
dest: 'build/'
}
},

uglify: {
dist: {
files: {
"build/app.min.js": '<%= jsFilesApp %>',
"build/apis.min.js": '<%= jsFilesApis %>'
},
options: {
mangle: false,
compress: false,
sourceMap: true
}
},
},
});

我的 HTML 是:

<html ng-app='app'>
<head>
<script type="text/javascript" src="./build/apis.min.js"></script>
<script type="text/javascript" src="./build/app.min.js"></script>
</head>
...

如何配置 Grunt,以便可以单独包含所有 JS 文件,以便能够在浏览器中适本地查看/调试它们?

最佳答案

对于初学者来说,没有办法只在所有 JavaScript 中包含一个脚本标记,同时将它们在源代码中保持独立。我不知道有 grunt 插件或其他插件可以将您的 javascript 连接到单个脚本中,但允许您在浏览器中单独查看它们(如链轮)。

但是,我拥有的是一个可以查看的非缩小脚本(正在开发中)。它不会立即向您显示它来自哪个库或文件,但您至少可以看到代码。

我所拥有的是(使用grunt-contrib-concat)

concat: {
'build/<%= pkg.name %>.js': ['build/vendor.js', 'build/app.js', 'build/templates.js']
},

对你来说会是这样的

concat: {
"build/app.js": '<%= jsFilesApp %>',
"build/apis.js": '<%= jsFilesApis %>'
},

然后将这两个内容都包含在您的 html 中。您还需要指定不要在开发版本上进行丑化。对我来说,这看起来像

grunt.registerTask('build:dev', ['clean:dev', 'browserify:app', 'browserify:test', 'emberTemplates', 'jshint:dev', 'less:transpile', 'concat', 'copy:dev']);

所以对你来说就是

grunt.registerTask('build:dev', ['angular-injector', 'concat']);
grunt.registerTask('build:prod', ['angular-injector', 'concat', 'uglify']);

关于javascript - 如何使用 Grunt 而不将所有内容压缩到单个文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25049383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com