在visual studio node.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脚本的正确名称是什么?你为什么要采用这种方法而不是只在app.js中使用它?它与部署或可移植性有关吗?
提前致谢!
答案 0 :(得分:1)
节点应用程序中的约定是我们创建主js文件以在名为bin/
的文件www
文件夹中运行服务器,该文件由node.exe
运行。一个原因是将应用程序逻辑与具有起点的位置分开。当然,您可以在app.js
中内联添加它,或者在server.js
的同一目录中有一个app.js
文件来执行相同的操作。您可以选择进入应用程序的入口点。部署时,又取决于您的特定环境。默认情况下,某些服务(如Azure Web APP)运行server.js(尽管您可以包含一个配置文件来指定您的入口点。)
此外,这仍然是一个javascript文件,而不是bash:
#!/usr/bin/env node
表示由/ usr / bin / env
中的可执行节点运行#!/bin/bash
表示由/ bin / bash
中的可执行文件bash运行两者的语法不同。如果变量foo在
中,则打印示例代码Bash脚本:
if [ $((foo%2)) -eq 0 ];
then
echo "even";
else
echo "odd";
fi
使用Javascript:
if(foo%2==0)
console.log(“even”);
else
console.log(“odd”);