Gandi 社群

Node.js: 启动程式选项、ES6、流程管理

我们的 PaaS 服务 “Simple Hosting” 现已支援 npm start scripts (目前,几乎所有的 Node.JS 套件都用 npm start scripts),并将提供 Simple Hosting 使用者更好的功能。

一直以来,您需要在专案的根目录放置 ‘server.js’ 来启动程式,但从现在起,您可以使用较有弹性的方式,即为利用 `package.json`。

您可用 `package.json[“main”]` 定义进入点:

//package.json
{
“name” : “foo”,
“version” : “1.2.3”,
“description” : “A packaged foo fooer for fooing foos”,
“main” : “index.js”,
}

在以上例子中,index.js 用于启动您的模组。

另一个方式是,透过定义指令,利用 `package.json[“scripts”][“start”]` 启动程式

// package.json
{
“name” : “foo”,
“version” : “1.2.3”,
“description” : “A packaged foo fooer for fooing foos”,
“scripts”: {
“start”: “node index.js”
}
}

您可能已发现,这表示您需要使用启动程式的参数。举例来说,您可以使用 JavaScript 最新版的 ES6。

//package.json
{
“engines”: {
“node”: “>=0.12”
},
“scripts”: {
“start”: “node –harmony app.js”
}
}

这个新功能让您在使用 start command 时,可将环境变数纳入考量。以往这只能在个别的程式中做到。

// package.json
{

“scripts”: {
“start”: “NODE_ENV=staging node app.js”
}
}

您可以使用此功能管理您应用程式的程序,例如使用 pm2。

建议您看一下我们的 wiki(英文),您可以了解更多基本与进阶的使用范例。

如果您已经有 Node.js 的 instance,本更新不会要您改变任何设定。如您想使用这个新功能,您只需要删除或重新命名 `server.js`,并安装 `package.json` 以依据您的个人化设定来启动程式。

当然,如果您要建立新的专案,我们会建议您使用这些新功能。

本更新会在2015年12月1日永久生效,`package.json` 档案中的指示将会被视为优先执行 。`server.js` 则只会做为参考依据。

想试试看在 Simple Hosting 的 instance 上执行 Node.js 吗?我们提供免费五天的试用版