Javascript 不带NodeJS的丑陋和缩小AngularJS源代码
我想丑陋然后缩小我的AngularJS源代码。 我一直在寻找样本,然后我发现grunt,但grunt需要NodeJS我们的网站不运行NodeJS 我找不到任何好的选择Javascript 不带NodeJS的丑陋和缩小AngularJS源代码,javascript,angularjs,node.js,gruntjs,frontend,Javascript,Angularjs,Node.js,Gruntjs,Frontend,我想丑陋然后缩小我的AngularJS源代码。 我一直在寻找样本,然后我发现grunt,但grunt需要NodeJS我们的网站不运行NodeJS 我找不到任何好的选择 有什么想法吗?只有当您想发布代码时才需要丑陋的代码。服务器不需要它,因为它不考虑代码中的空格。为了澄清一些问题,我在下面展示我的开发机器上的“grunt”是什么: shaun@laptop:~/.npm$ which grunt /home/shaun/local/bin/grunt shaun@laptop:~/.npm$ l
有什么想法吗?只有当您想发布代码时才需要丑陋的代码。服务器不需要它,因为它不考虑代码中的空格。为了澄清一些问题,我在下面展示我的开发机器上的“grunt”是什么:
shaun@laptop:~/.npm$ which grunt
/home/shaun/local/bin/grunt
shaun@laptop:~/.npm$ ls -al /home/shaun/local/bin/grunt
lrwxrwxrwx 1 shaun shaun 39 Apr 15 2015 /home/shaun/local/bin/grunt -> ../lib/node_modules/grunt-cli/bin/grunt
shaun@laptop:~/.npm$ cat /home/shaun/local/lib/node_modules/grunt-cli/bin/grunt
#!/usr/bin/env node
'use strict';
process.title = 'grunt';
// Especially badass external libs.
var findup = require('findup-sync');
var resolve = require('resolve').sync;
// Internal libs.
var options = require('../lib/cli').options;
var completion = require('../lib/completion');
var info = require('../lib/info');
var path = require('path');
var basedir = process.cwd();
var gruntpath;
// Do stuff based on CLI options.
if ('completion' in options) {
completion.print(options.completion);
} else if (options.version) {
info.version();
} else if (options.base && !options.gruntfile) {
basedir = path.resolve(options.base);
} else if (options.gruntfile) {
basedir = path.resolve(path.dirname(options.gruntfile));
}
try {
gruntpath = resolve('grunt', {basedir: basedir});
} catch (ex) {
gruntpath = findup('lib/grunt.js');
// No grunt install found!
if (!gruntpath) {
if (options.version) { process.exit(); }
if (options.help) { info.help(); }
info.fatal('Unable to find local grunt.', 99);
}
}
// Everything looks good. Require local grunt and run it.
require(gruntpath).cli();
正如您所看到的,Grunt是一个节点脚本,所以它确实需要节点运行基于Grunt的插件。也就是说,您可以从github或任何地方下载并运行任何节点脚本,它们只是JS文件
^^如果要克隆上述存储库并安装了节点,则只需运行
git clone https://github.com/mishoo/UglifyJS2.git
cd UglifyJS2
bin/uglify -m -- /full/path/to/input.js
# note the above assumes you already have node installed on the
# development machine since the bin/uglify file is interpreted/run
# by node VM
这将输出损坏的js,然后将其放在服务器上(根本没有节点)。重申构建过程/工具不需要安装在服务器上(可能不应该是理想的)。最流行的JavaScript迷你程序和UGLIFIER是用JavaScript编写的,必须使用NodeJS运行。只是澄清一下,您知道uglify/minify(以及所有其他构建步骤)只在开发人员的计算机上运行一次,而不是在服务器上,对吗?这意味着开发人员的计算机必须有NodeJS,而不是服务器。您好@Sidney是的,我知道。@KenTapdasan不确定我们是否遵循。。在开发计算机上安装节点,运行缩小,并将输出放在服务器上。闭包编译器使用Java,但这完全是另一个野兽。如果不是nodejs,那么它运行的是什么-请澄清..更正:
grunt
根本不需要nodejs。当然,grunt使用的是npm
,但这与您的生产服务器无关。@Rabbi76这实际上更接近于一个答案,根据OPs的评论,他们不理解您可以使用任何给定技术运行uglification脚本,而不是在服务器上主动运行该技术,这就是答案,谢谢你的回答。我想在开发机器上对它进行放大和缩小,然后将输出放到我们的服务器上。你有基本的说明吗?我是个新手,对不起,我不太懂超复杂的代码。@Ken Tapdasan是的,你可以使用cli,看看