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