Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不带NodeJS的丑陋和缩小AngularJS源代码_Javascript_Angularjs_Node.js_Gruntjs_Frontend - Fatal编程技术网

Javascript 不带NodeJS的丑陋和缩小AngularJS源代码

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

我想丑陋然后缩小我的AngularJS源代码。 我一直在寻找样本,然后我发现grunt,但grunt需要NodeJS我们的网站不运行NodeJS

我找不到任何好的选择


有什么想法吗?

只有当您想发布代码时才需要丑陋的代码。服务器不需要它,因为它不考虑代码中的空格。

为了澄清一些问题,我在下面展示我的开发机器上的“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,看看