Tag: babel

如何运行nodejs应用程序作为永远或新贵的服务?

我正在运行我的应用程序如下 NODE_ENV=production node_modules/.bin/babel-node –presets 'react,es2015' src/server.js 如何把它作为永远或新贵的服务来运行?

如何用Jest使用babel-preset-env

我们正在更新我们的API,而Babel的Henry Zhu提醒我这个预设名为babel-preset-env以取代对babel-preset-es2015和babel-preset-es2018 。 现在,我很难理解处理所有事情的最简单方法。 我们的API使用节点v8.x和asynchronous/等待,原生承诺 我想传播运营商 我想pipe道运营商 我想要导入/导出语法 我想支持Jest 我喜欢babel-node如何将API传输到内存中 如果我只是告诉你我们的configuration的当前位置,这将更容易: .babelrc { "presets": [ "env", { "targets": { "node": "current" } }, "jest" ] } 的package.json { "scripts": { "test": "node –harmony-async-await node_modules/jest/bin/jest.js", "start:local": "NODE_ENV=localhost npm run babel-node — warpcore/server.js", "start": "npm run babel-node — warpcore/server.js", "babel-node": "babel-node –presets=es2015,stage-2" }, "dependencies": { "babel-polyfill": "^6.23.0" […]

在nodejs和babel上使用es6的差异

我正在学习一个关于ES6的文档,我看到nodejs和babel都是使用新的es6特性和语法的方法,但真正的区别是什么?

无法安装babel Plugin`transform-es2015-destructuring`

我试图在我的摩卡testing中使用Babel插件transform-es2015-destructuring ,但是我遇到了一个问题: $ node_modules/mocha/bin/mocha –compilers js:babel-core/register test/testMain.js /home/my/project/node_modules/babel-core/lib/transformation/file/options/option-manager.js:313 throw new Error("Couldn't find preset " + (0, _stringify2.default)(val) + " relative to directory " + (0, _stringify2.default)(dirname)); ^ Error: Couldn't find preset "transform-es2015-destructuring" relative to directory "/home/my/project" 但是,当我尝试安装插件时,一切工作正常: $ npm install babel-plugin-transform-es2015-destructuring myproject-reactjs@1.8.1 /home/my/project └── babel-plugin-transform-es2015-destructuring@6.9.0 如果我直接使用Babel,我也有同样的问题: ./node_modules/babel-cli/bin/babel.js –plugins transform-es2015-destructuring test/testMain.js Error: Couldn't find preset "transform-es2015-destructuring" […]

Babel / Node / Relay / Webpackcaching?

通常: 这四个系统有caching吗? 如果是这样,清除每个方法是什么? 特别: 遇到了我们正在开发的反应应用程序的问题。 在本地开发时,我们看起来偶尔会遇到以下错误: “Invariant Violation:RelayQL:在运行时发生意外的调用,或者Babel变换没有设置,或者它没有识别这个调用站点,确保它被逐字地用作`Relay.QL`。 我没有注意到为什么/何时开始发生的任何特定的原因。 我终于find了一个黑客解决scheme,涉及到我参考引用的组件文件(进一步在错误味精,未显示),并删除里面的RelayQL片段 export default Relay.createContainer(PinterestShare, { fragments: { resource: () => Relay.QL` fragment on Resource { id title files { type images { medium { url width } } } } ` } }); 至 export default Relay.createContainer(PinterestShare, { fragments: { resource: () => Relay.QL` ` } […]

如何将ES6节点和jsx代码编译成ES5 vanilla JS

我有一个使用babel-node运行服务器的工作正常的项目。 然而,尝试了2天后,我无法将其编译到ES5。 我试着运行babel,但是那不包括依赖关系。 我试图创build一个webpackconfiguration只是为了服务器,但我目前卡住的错误: fs.js:634 return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode); ^ Error: ENOENT: no such file or directory, open '/types/mime.types' 用于服务器的webpackconfiguration与我用于编译我的客户端代码[100%]几乎相同: var webpack = require('webpack'); var path = require('path'); var WebpackNotifierPlugin = require('webpack-notifier'); var BUILD_DIR = path.resolve(__dirname, 'static'); var APP_DIR = path.resolve(__dirname, 'src'); var DATA_DIR = path.resolve(__dirname, 'json'); module.exports = { target: "node", devtool: 'source-map', // […]

Babel注册不会转储包含在node_modules中的自己的文件

我正在尝试使用我在ES6中编写的一些代码,这些代码需要被转发。 当我运行我自己的服务器时,我想不必提前单独进行转储,只需包含文件server.js : require("babel-register")({ignore: false, presets: ["es2015"]}); const AlexaAppServer = require("alexa-app-server"); AlexaAppServer.start({ port: process.env.PORT || 8080, app_dir: "apps", }); 然后我有apps/skill/index.js : import alexa from "alexa-app"; const skill = new alexa.app("skill"); skill.launch((req, res) => res.say("hello")); skill.intent("TestIntent", ["test"], (req, res) => res.say("test")); export const express = skill.express; express导出是为了当alexa-app-server需要文件时: https : //github.com/alexa-js/alexa-app-server/blob/master/index.js#L68 当我运行我的服务器代码时,我得到: Error loading app [/Users/acrites/projects/mobq/usbank/functions/usbank/index.js]: SyntaxError: […]

.gql或.graphql文件types与节点

我正在使用Apollo的graphql-server-express和Node,我想将我的“typedef”模式定义文件转换为.graphql or .gql文件,以提高清晰度和语法高亮度。 做这个的最好方式是什么? 除了Babel(?)之外,我无法find任何好的资源,这似乎是唯一的select。 非常感谢你的帮助!

引用摩卡testing的环境variables

我正在尝试使用dotenv来允许我为集成testing设置一些环境variables。 我不想从摩卡cli脚本指定环境variables。 我想定义他们在其他地方,如在test.js文件本身(最好)或.env文件。 我正在尝试运行这些不是基于create-react-app中的网站环境的testing。 我想我可以像我在下面那样添加dotenv,但它不工作: require('dotenv') describe('some description', () => { let { env } = process it.only('creates an environment', async () => { const options = { branch: env.FAKE_BRANCH } const result = await deploy(options) expect(result.success).to.be.true }) }) env.FAKE_BRANCH是不确定的,当我运行这个。 我在create-react-app项目的根目录下有一个.env文件,但是由于怪异的sh **,react-create-app在后台执行,可能无法find它。 我试图将.env文件移动到包含这些spec.js文件的文件夹中,但没有运气。

从babel-preset-env中删除全局“use strict”

我想删除babel-preset-env用babel 6.x添加的全局“use strict”。 我读了关于es2015的另一篇文章。 我试过下面的.babelrcconfiguration,无济于事: { "presets": [["env", {"loose":true}]], "plugins": [ ["transform-es2015-modules-commonjs", { "strict" : false }] ] } 我不想编辑node_modules中的实际文件,就像为es2015build议的其他文章一样。 这是相当黑客,不会坚持。 到目前为止唯一的解决scheme是使用gulp-iife来包装每个文件。 是否真的没有办法在我的.babelrc文件中传递选项来禁用此选项? 'env'中的哪个插件甚至是这样做的? 谢谢