作者:Ailsa大宝贝 | 来源:互联网 | 2022-03-24 14:15
能够动态设置端口的话,调试起来会比较方便,不需要因为默认端口被占用去改代码,还可以多开。代码如下,其实没啥难度,只要你了解nodejs里的p
能够动态设置端口的话,调试起来会比较方便,不需要因为默认端口被占用去改代码,还可以多开。代码如下,其实没啥难度,只要你了解nodejs里的process模块,很容易就能写出来。
假设我们想要的命令格式为node app.js 8000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | var process = require( 'process' )
var port = ( function () {
if ( typeof (process.argv[2]) !== 'undefined' ) {
if (isNaN(process.argv[2])) {
throw 'Please write a correct port number.'
} else {
return process.argv[2]
}
} else {
return 8080
}
})(),
app.listen(port, function () {
console.log( 'Example app listening on port ' + port + ' !' )
})
|
实际上,就是通过process.argv获得命令内容,这个方法会以数组的方式返回命令内容,第一项一般都是node,第二项在上面的例子中是入口文件的路径,第三项就是我们输入的端口号啦。
如果你配置了npm的环境,还需要调整一下package.json里的参数,比如大部分脚手架里的设置是这样的:
1 2 3 4 | "scripts" : {
"dev" : "node build/dev-server.js" ,
...
}
|
这个时候,我们只需修改命令为:
1 2 3 4 | "scripts" : {
"dev:port" : "node build/dev-server.js port" ,
...
}
|
即可,使用时的命令是npm run dev 8000,这里用到的则是npm的自定义变量功能。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。