Node.js 从powershell运行节点模块
假设我有一个文件夹,里面安装了一个节点模块。如何使用powershell运行此模块?例如,我有一个文件夹,里面安装了webpack,我希望能够像这样做Node.js 从powershell运行节点模块,node.js,powershell,Node.js,Powershell,假设我有一个文件夹,里面安装了一个节点模块。如何使用powershell运行此模块?例如,我有一个文件夹,里面安装了webpack,我希望能够像这样做 node webpack 这不起作用,因为它找不到模块。但是,如果我这样做,它会起作用: node ".\node_module\webpack\bin\webpack.js" 但是,我不能真正使用它,因为我正在编写一个powershell脚本,该脚本允许用户使用操作定义json文件。例如: { "type": "run-node",
node webpack
这不起作用,因为它找不到模块。但是,如果我这样做,它会起作用:
node ".\node_module\webpack\bin\webpack.js"
但是,我不能真正使用它,因为我正在编写一个powershell脚本,该脚本允许用户使用操作定义json文件。例如:
{
"type": "run-node",
"options": {
"module": "webpack",
"parameters": "--configFile=config/webpack.prod.js"
}
}
由于要执行的模块是动态的,我不知道它将在哪里(除非所有模块都安装在“\node\u modules\module\bin\module.js”中),因此我无法启动它。您可以在
包中定义网页包脚本。json
:
"scripts": {
"webpack": "node \"./node_module/webpack/bin/webpack.js\""
}
然后您可以使用npm run webpack
或warn webpack
来运行它。如果您试图在node.js脚本中执行命令,请使用\u dirname
变量
\uuuu dirname
(几乎)总是指包含脚本的目录。我也不想这样做,因为可以通过指定配置(调试或发布)来启动脚本,并且根据这一点,参数会更改。基本上,我希望保留问题中所示的文件,而不必“污染”“package.json”文件。我想我可以打开模块的“package.json”并检索“bin”属性的值,但我想知道是否有最简单的方法。