你好,我正在使用uglifyJs来缩小我的javascript文件,它一次只能处理一个文件,我正在寻找的是将一个名为JS的文件夹中存在的所有javascript文件缩小到一个名为JSM的文件夹中,需要说明的是,我的JS文件夹中有两个文件,分别名为test1.js和test2.js,我希望对该文件夹运行uglify并生成test1.min.js和test2.min。js在JSM文件夹中,那么有没有办法做到这一点呢?一个类似于以下的命令:
uglifyjs -c -m JS/*.js JSM/*.min.js
或者任何能帮到我的想法。
谢谢。
9条答案
按热度按时间s3fp2yjn1#
我知道这看起来像是一个巨大的进步,但是我真的推荐使用grunt,一旦你掌握了它的窍门,它真的很简单。
下面是一个速成班:
1.安装NodeJS
1.安装Grunt CLI(只需在控制台/终端中输入即可):
1.在项目的根目录中创建一个简单的
package.json
文件:1.一旦你有了,只是键入:
npm install
到控制台(在你项目的根目录下)。这将安装必要的grunt插件/依赖项(来自上面的包文件)。1.现在在项目的根目录下创建一个简单的
gruntfile.js
(它是项目的一种配置):// define source files and their destinations
uglify: {
files: {
src: 'js/.js', // source files mask
dest: 'jsm/', // destination folder
expand: true, // allow dynamic building
flatten: true, // remove all unnecessary nesting
ext: '.min.js' // replace .js to .min.js
}
},
watch: {
js: { files: 'js/.js', tasks: [ 'uglify' ] },
}
});
// load plugins
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-uglify');
// register at least this one task
grunt.registerTask('default', [ 'uglify' ]);
1.完成后,您只需要构建它。在控制台中键入:
或者--更好的--如果你输入下面的execute命令-- grunt会监控你的源文件的变化,如果你改变了其中的任何一个--它会自动构建它们:
然后您可以添加更多插件,例如:css缩小、css预处理器(less、sass、手写笔)、jshint等。
kxeu7u2r2#
如果你在Linux/Mac上并且可以访问bash,你可以在多个JS文件上使用uglifyjs,如下所示:
oymdgrw73#
仅npm方式:
1.运行:
1.然后在你的
package.json
里加上这样的内容1.然后运行:
请注意,如果您需要生成到与源文件相同的文件夹(
js
),则应执行以下操作:1.运行:
1.然后在
package.json
中添加如下内容:1.然后运行:
vecaoik14#
根据上面的回答,我现在在.bashrc文件中设置了以下内容:
oknwwptz5#
uglify-js
不支持ES6+,所以我建议使用terser
(要安装它,请运行npm install terser -g
)下面是一个shell脚本,递归地对任何路径执行terser
:术语路径.sh
3wabscal6#
您可以在gruntfile.js中使用此配置:
xsuvu9jc7#
创建一个bat文件,在每行的开头都有start
zc0qhyus8#
你可以使用这个npm模块软件包
npm package site
cyej8jka9#
在Windows上使用uglifyjs和PowerShell。
使用Powershell迭代目录中的所有js文件(如果提供了-recurse,则包括子文件夹),并为每个文件调用uglifyjs命令。
请注意,这段代码将用丑化后的版本覆盖原始文件,如果不需要,请更改uglifyjs命令的参数。