1.a 需要什么预设?
您需要首先npm install babel-core --save-dev
使用终端窗口(如命令提示符)在项目的根目录中安装 Babel。
安装后,您需要安装es2015 预设。npm install babel-preset-es2015 --save-dev
Babel-Core 与 Promises/A+ 兼容,但由于错误处理能力差,因此不适合使用,因此应使用Bluebird等库来代替此目的。为了进行转译,仍然需要安装 babel-core 并且 es2015 启用 ES6->ES5 转译,因此您可以使用像 let 和 const 等花哨的东西。
1.b 放在哪里require("babel-core");
?
相反,使用require("babel-core/register");
并将其放置在通常称为“server.js”的条目文件中。server.js 文件将需要专门使用 CommonJS (ES5)。
通过使用“require”语句,它将所有相关的转换应用于条目文件中需要的所有代码以及这些文件中需要/包含的所有文件。
您指向该部分下 package.json中的Entry文件。"main":
Package.json 是在您npm init
在终端窗口内的项目的根目录中初始化项目时创建的
一种方法是:
- 入口文件- server.js
- server.js - 需要 {babel-core 和主 ES6 文件:config.js/jsx/es6/es}
- config.es6 - 使用 ES6 并包含(需要)所有其他也可以使用 ES6 的项目文件,因为它们通过加载到由 babel-core 直接转译的“config”文件进行转译。
2.什么是.babelrc?
.babelrc
是文件名,应该与你的 package.json 文件(通常是根目录)放在同一个文件夹中,并且当需要 babel-core 来确定要使用哪些预设或插件时会自动“加载”。
在里面.babelrc
,您需要添加以下代码:
{
"presets": ["es2015"]
}
3. pg-promise 测试部分
开发商的直接引述最近回答了这个问题
您无需担心测试中的步骤,只需使用安装中的步骤即可。测试中的一个与开发依赖项安装有关,以便运行测试。pg-promise 可以与任何符合 Promises/A+ 规范的 Promise 库一起使用。
4. 服务器端项目的标准文件/文件夹结构?
由于每个项目都有独特的需求,因此没有标准的方法来完成这项任务。一个好的起点是将入口文件放在项目根目录中,将ES6 配置文件放在“scripts”或“src”子文件夹中,并将各个组件放在其下方的文件夹中。
例如
- 根/server.js
- ROOT/src/config.es6
- ROOT/src/component1/files.es6
- ROOT/src/component2/files.es6
有了这个,Babel 将成功地将所有 ES6 转换为 ES5,并支持 A+ 兼容的 Promise。
要开始使用 node.js 网络服务器,本指南提供了更多的见解,在此答案的上下文中,显示的代码将被放入 ES6 config.es6 文件中,以下代码将进入Entry server.js 文件:
require("babel-core/register");
require("./src/config.es6");
构建 Isomorphic web 应用程序的过程与此不同,可能会使用 grunt、gulp、webpack、babel-loader 等另一个示例,可以在此处找到。
这个答案是这个问题的其他答案提供的几个关键点以及经验丰富的开发人员的贡献和我自己的个人研究和测试的组合。感谢所有协助制作此答案的人。