在Visual Studio节点中.js项目他们有一个bin目录,其中包含一个名为www的文件,其中包含以下内容:
#!/usr/bin/env node
var app = require('../app');
app.set('port', process.env.PORT || 3300);
var server = app.listen(app.get('port'), function() {
console.log('server up and running on port ' + app.get('port'));
});
这个正确的名称是 bash 脚本吗?为什么要采用这种方法,而不是只将其放在应用中.js?它与部署或可移植性有关吗?
提前感谢!
节点应用程序中的一个约定是我们创建主js文件以在名为www
的文件中bin/
文件夹中运行服务器,该文件将由node.exe
运行。一个原因是将应用逻辑与具有起点的位置分开。当然,您可以在app.js
中添加它,或者实际上在app.js
的同一目录中有一个server.js
文件来做同样的事情。由您来选择应用程序的入口点。使用部署时,同样取决于您的特定环境。默认情况下,某些服务(如 Azure Web APP)运行服务器.js当然可以包含一个配置文件来指定入口点)。
此外,这仍然是一个javascript文件,而不是bash:
#!/usr/bin/env node
表示由/usr/bin/env 的可执行节点运行
#!/bin/bash
表示由/bin/bash 处的可执行 bash 运行
两者在语法上都不同。如果变量 foo 在
砰脚本:
if [ $((foo%2)) -eq 0 ];
then
echo "even";
else
echo "odd";
fi
Javascript:
if(foo%2==0)
console.log(“even”);
else
console.log(“odd”);