从powershell运行节点模块
假设我有一个内部安装了节点模块的文件夹。 我怎样才能使用PowerShell来运行这个模块? 例如,我有一个安装了webpack的文件夹,我希望能够做到这一点
node webpack
这不起作用,因为它找不到该模块。 但是,如果我这样做,它会工作:
node ".\node_module\webpack\bin\webpack.js"
然而,我不能真的使用这个,因为我正在一个PowerShell脚本,允许用户定义一个JSON文件的行动。 例如:
{ "type": "run-node", "options": { "module": "webpack", "parameters": "--configFile=config/webpack.prod.js" } }
由于要执行的模块是dynamic的,我不知道它将在哪里(除非所有模块都安装在“。\ node_modules \ module \ bin \ module.js”中?),所以我无法启动它。
你可以在你的package.json
定义一个webpack
脚本:
"scripts": { "webpack": "node \"./node_module/webpack/bin/webpack.js\"" }
然后你可以用npm run webpack
或者yarn webpack
来运行它。
如果您尝试在node.js脚本中执行该命令,请使用__dirname
variables。
__dirname
(几乎)总是指包含脚本的目录。