我在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
[email protected] C:\Users\jcreamer\AppData\Roaming\npm\node_modules\uglify-js

并重新启动命令提示符,但我仍然无法运行...
cd c:\inetpub\wwwroot\app\
node uglifyjs -o app.min.js app.js

我收到此错误...
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)

还有什么我需要做的吗?

更新
即使我以管理员身份运行npm后,如果我运行
C:\Users\jcreamer>uglifyjs

我知道了
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.

最佳答案

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

如您所见,uglifyjs命令行实用程序已放入C:\Users\jcreamer\AppData\Roaming\npm\uglifyjs(位于uglify的bin\uglifyjs的链接,如您在输出中所见)的路径中。

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

如果尝试在 Node 程序中使用require("uglify-js"),则应将其安装在本地,而不要与-g一起安装。看起来您正在尝试将其用作独立实用程序,因此alessioalex的第二建议完全正确。只需键入uglifyjs即可使用,而不是node uglifyjs

关于node.js - 在Windows中使用NPM的UglifyJS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8744898/

10-09 05:12