- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我已多次阅读以下网址提供的文档: Node API Babel 6 Docs
我开始按照通过示例教程学习 pg-promise 并希望使用 ES6 并使用 Babel 转换为 ES5,但我不确定一些事情:
文档不清楚我将哪个文件: require("babel-core").transform("code", options); 放入以及该代码的哪些部分是占位符.当我使用该代码时,我是否只在某个地方使用它一次,然后我可以在每个其他文件中使用 ES6?这将如何实现?
我阅读了这个 .babelrc 文件,并想确认实际文件名是“.babelrc”还是只是文件扩展名以及与我的项目的根目录相关的位置文件..以及如何链接到它?
如果我使用 pg-promise我应该使用 ES6 和 Babel 还是将运行:在 Testing 部分中描述的 pg-promise 的 npm install 就足够了,尝试使用 ES6 会产生更多问题?
如果在我的服务器端开发过程中出现需要,我希望利用 let 和 const。
编辑值得注意的是,我还阅读了 Node JS with Babel-Node并看到应该避免使用它。由于类似的原因,最底部的最终答案对我来说真的没有意义,我在遵循 Babel 提供的实际文档时遇到了麻烦。
最佳答案
您需要首先使用命令提示符等终端窗口在项目的根目录中使用 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 等花哨的东西。
require("babel-core");
?改为使用 require("babel-core/register");
并将其放在您的 Entry 文件中,该文件通常称为 "server.js"。 server.js 文件将需要独占使用 CommonJS (ES5)。
通过使用 "require" 语句,它会将所有相关转换应用于 Entry 文件中需要的所有代码以及这些文件中需要/包含的所有文件。
您指向 "main":
部分下 package.json 中的 Entry 文件。
Package.json is created when you initialise the project with
npm init
at the root directory of your project inside the Terminal Window
一种方法是:
.babelrc
是文件名,应该和你的 package.json 文件放在同一个文件夹中(通常是根目录),当需要 babel-core 来确定哪个文件时会自动“加载”将使用预设或插件。
在 .babelrc
中,你需要添加以下代码:
{
"presets": ["es2015"]
}
最近来自开发者的直接引用回答了这个问题
You do not need to worry about steps in the Tests, use only the steps in the install. The one in tests relates to the dev dependency installation, in order to run tests. The pg-promise can work with any promise library compliant with Promises/A+ spec.
由于每个项目都有独特的需求,因此没有标准的方法来完成此任务。一个好的起点是将 Entry 文件放在项目根目录中,将 ES6 Config 文件放在“scripts”或“src”子文件夹和各个组件中在下面的文件夹中。
例如
有了这个,Babel 将成功地将所有 ES6 转换为 ES5,并支持符合 A+ 的 promise 。
开始使用 node.js 网络服务器 This Guide提供了更多的洞察力,在这个答案的上下文中,显示的代码将被放入 ES6 config.es6 文件中,以下代码将进入 Entry server.js 文件:
require("babel-core/register");
require("./src/config.es6");
构建 Isomorphic web 应用程序的过程与此不同,可能会使用 grunt、gulp、webpack、babel-loader 等,另一个例子可以是 Found Here .
这个答案是这个问题的其他答案提供的几个关键点以及经验丰富的开发人员的贡献和我自己的个人研究和测试的组合。感谢所有协助制作此答案的人。
关于node.js - 如何使用 Node JS 设置 Babel 6 以在我的服务器端代码中使用 ES6?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33624104/
这个问题已经有答案了: Is there any way to accept only numeric values in a JTextField? (20 个回答) It's possible i
我使用戴尔 XPS M1710。笔记本电脑的盖子、侧面扬声器和前置扬声器都有灯(3 组灯可以单独调节)和鼠标垫下方的灯。在 BIOS 中,我可以更改这些灯的颜色,至少是每个组。另外,我可以在鼠标垫下打
我知道我可以使用 在 iOS 5 中打开设置应用 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"
我有一个 Django 应用程序,我正在尝试为其设置文档。目录结构如下: - doc - project | - manage.py 我已经设置了路径以便 Sphinx 可以看到东西,但是当我尝试使用
我正在使用 768mb ram 运行 centos 5.5。我一直在日志中获取 server reached MaxClients setting, consider raising the MaxC
我在具有以下配置的服务器内运行了 Drupal 安装: StartServers 5 MinSpareServers 5 MaxSpareServers 15 MaxClien
是否可以使用 Microsoft.Web.Administration 包为给定的 location 配置 asp 设置? 我想以编程方式将以下部分添加到本地 IIS applicationHost.
我一直在阅读为 kube-proxy 提供参数的文档,但没有解释应该如何使用这些参数。我使用 az aks create 创建我的集群使用 azure-cli 程序,然后我获得凭据并使用 kubect
我想知道与在 PHP 中使用 setcookie() 函数相比,在客户端通过 JavaScript 设置一些 cookie 是否有任何明显的优势?我能想到的唯一原因是减少一些网络流量(第一次)。但不是
我有一个按钮可以将 body class 设置为 .blackout 我正在使用 js-cookie设置cookie,下面的代码与我的按钮相关联。 $('#boToggle').on('click'
我有一堆自定义的 HTML div。我将其中的 3 存储在具有 slide 类的 div 中。然后,我使用该幻灯片类调用 slick 函数并应用如下设置: $('.slide').slick({
我正在创建一个应该在 Windows 8(桌面)上运行的应用 我需要: 允许用户使用我的应用启动“文件历史记录”。我需要找到打开“文件历史记录”的命令行。 我需要能够显示“文件历史记录”的当前设置。
我刚买了一台新的 MacBook Pro,并尝试在系统中设置 RVM。我安装了 RVM 并将默认设置为 ➜ rvm list default Default Ruby (for new shells)
由于有关 Firestore 中时间戳行为即将发生变化的警告,我正在尝试更改我的应用的初始化代码。 The behavior for Date objects stored in Firestore
在 ICS 中,网络 -> 数据使用设置屏幕中现在有“限制后台数据”设置。 有没有办法以编程方式为我的应用程序设置“限制后台数据”? 或 有没有办法为我的应用程序调出具有选项的“数据使用”设置? 最佳
我正在尝试使用 NextJS 应用程序设置 Jest,目前在 jest.config.js : module.exports = { testPathIgnorePatterns: ["/.n
我最近升级到 FlashDevelop 4,这当然已经将我之前的所有设置恢复到原来的状态。 我遇到的问题是我无法在新设置窗口的哪个位置找到关闭它在方括号、大括号等之前插入的自动空格的选项。 即它会自动
有没有办法以编程方式访问 iPhone/iPod touch 设置? 谢谢。比兰奇 最佳答案 大多数用户设置可以通过读取存储在 /User/Library/Preferences/ 中的属性列表来访问
删除某些值时,我需要选择哪些设置来维护有序队列。我创建了带有自动增量和主键的 id 的表。当我第一次插入值时,没问题。就像 1,2,3,4,5... 当删除某些值时,顺序会发生变化,例如 1,5,3.
我正在尝试设置示例 Symfony2 项目,如此处所示 http://symfony.com/doc/current/quick_tour/the_big_picture.html 在访问 confi
我是一名优秀的程序员,十分优秀!