UglifyJS在Windows中使用NPM

jcr*_*898 10 node.js npm uglifyjs

我在Windows 7机器上,最近我从NodeJS.org安装了最新版本的Node

然后我跑了......

C:\Users\jcreamer>npm install -g uglify-js  
npm http GET https://registry.npmjs.org/uglify-js  
npm http 304 https://registry.npmjs.org/uglify-js  
C:\Users\jcreamer\AppData\Roaming\npm\uglifyjs -> C:\Users\jcreamer\AppData\Roaming\npm\node_modules\uglify-js\bin\uglifyjs   
uglify-js@1.2.3 C:\Users\jcreamer\AppData\Roaming\npm\node_modules\uglify-js
Run Code Online (Sandbox Code Playgroud)

并重新启动命令提示符,但我仍然无法运行...

cd c:\inetpub\wwwroot\app\  
node uglifyjs -o app.min.js app.js  
Run Code Online (Sandbox Code Playgroud)

我收到这个错误......

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick  
              ^  
Error: Cannot find module 'C:\Inetpub\wwwroot\analytics\uglifyjs'  
    at Function._resolveFilename (module.js:334:11)  
    at Function._load (module.js:279:25)  
    at Array.0 (module.js:470:10)  
    at EventEmitter._tickCallback (node.js:192:40)  
Run Code Online (Sandbox Code Playgroud)

我还需要做些什么吗?

更新
即使我作为管理员运行npm,如果我运行

C:\Users\jcreamer>uglifyjs
Run Code Online (Sandbox Code Playgroud)

我明白了......

C:\Users\jcreamer>"C:\Users\jcreamer\AppData\Roaming\npm\\.\node_modules\uglify-js\bin\uglifyjs"
'"C:\Users\jcreamer\AppData\Roaming\npm\\.\node_modules\uglify-js\bin\uglifyjs"' is not recognized as an internal or external comm
and,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

Tar*_*run 11

如果您有Windows,请使用以下命令

npm -g install uglify-js
Run Code Online (Sandbox Code Playgroud)

-g标志表示这是一个全局安装,并将设置env路径.

为我工作 如果它也适合您,请告诉我.


isa*_*acs 8

全局安装用于命令行实用程序.

正如您所看到的那样,uglifyjs命令行实用程序将被放入您的路径中C:\Users\jcreamer\AppData\Roaming\npm\uglifyjs(bin\uglifyjs在输出中可以看到uglify的链接).

@alessioalex您不再需要管理包来安装全局包.节点MSI安装程序将全局默认前缀设置为%APPDATA%\npm,因此用户可以向其写入.

如果您正在尝试使用require("uglify-js")节点程序,那么您应该在本地安装它,而不是使用-g.看起来你正试图将它作为独立的工具使用,所以alessioalex的#2建议是完全正确的.只需键入uglifyjs即可使用它node uglifyjs.