2017-04-02 46 views
0

如果想跳的Node.js启动了一个项目,明确的.js Bin文件。一个会使用express-generator。创建一个新的项目后,你的文件树看起来像这样的站了出来,我是跑你需要做node bin/www应用程序或一个预定义的快捷npm run使用效益比快递发电机

. 
├── app.js 
├── bin 
│ └── www 
├── package.json 
├── public 
│ ├── images 
│ ├── javascripts 
│ └── stylesheets 
│  └── style.css 
├── routes 
│ ├── index.js 
│ └── users.js 
└── views 
    ├── error.pug 
    ├── index.pug 
    └── layout.pug 

一件事。我的问题是,为什么会一个使用它是www的方式,而不是从文件的顶部添加.js延伸和删除#!/usr/bin/env node?这样做有什么好处,还是个人喜好?

+0

bin \目录是一个你可以定义你的各种启动脚本的位置,www是一个它应该看起来像样的例子,最终你可以有启动脚本,如测试,停止或重新启动等等。你不必触摸app.js.就可以拥有不同的配置。 http://stackoverflow.com/questions/23169941/what-does-bin-www-do-in-express-4-x –

+0

@RatanKumar谢谢你的评论。我得到了这一点,我的问题是为什么它是'www'而不是'www.js',并且如果有这样做的好处吗? – AntK

回答

0

让我们来看看bin/www文件的第一行:

#!/usr/bin/env node 

shebang告诉的* nix操作系统如何,如果你尝试运行它作为一个程序解释文件。

所以这个文件可以开始作为一个程序。而在Linux中,传统的可执行文件没有扩展名。

+0

谢谢你的回答,我明白这一行告诉计算机如何执行这段代码,我的问题是你为什么要这样做,而不是在其上放上'.js'扩展名。 – AntK

+0

@AntK:'... Linux的传统上的可执行文件不具有扩展...' –

+0

我知道,谢谢。我只是想知道这是为什么在具有'“开始”最好“节点斌/ www.js”',你的'www.js'也可以LINTED,测试和其他的东西,你可以做的到JS文件您应用。 – AntK