Tag: babeljs

babel-jest ES2015import报表

有没有人使用es2015语法编写茉莉花/笑话testing? 它需要多less匀场/ polyfill / gerrymandering? 我无法正确导入function。 我有一个模块: … / utils / TweetUtils.js 'use strict'; export function getListOfTweetIds (tweets) { return Object.keys(tweets); }; 和一个testing套件: … ./__testing__ / TweetUtils-test.js 'use strict'; jest.dontMock('../TweetUtils'); import * as TweetUtils from '../TweetUtils'; describe('Tweet utilities module', () => { it('has access to the TweetUtils methods', () => { let testObj = {a:'a',b:'b',c:'c'}; […]

巴贝尔可以编译为“node –harmony”而不是ES5吗?

我试图编译一个Koa应用程序,而Koa有断言来检查以确保我作为中间件传递了生成器函数。 不过,我想使用Babel来编译ES7的服务器端代码,以便与前端代码保持一致。 是否有可能针对节点和谐,而不是ES5? 在选项中我没有看到任何有希望的东西,但select一个目标似乎是一个标准的东西,可以用编译器来做。 更新 黑名单Babel的再生变换似乎没有效果,即使我正在使用stage: 1 。 index.js: require( "babel/register" )({ sourceMaps: "inline", stage: 1, blacklist: [ "regenerator" ], optional: [ "asyncToGenerator" ] }); var app = require( "./src/server" ); app.listen( process.env.port || 3000 ); SRC / server.js: import koa from "koa"; import router from "koa-router"; router.get( "/", function *( next ) { this.body […]

Webpack捆绑的快递应用程序无法查找视图

我运行npm run start和服务器运行良好。 当我尝试在localhost上查看客户端时,服务器返回错误:GET / 500 62.700 ms – 2028错误:无法在视图目录“/ views”中查找视图“错误” 只使用源文件时,应用程序运行良好。 从webpack包运行应用程序时发生此错误。 源代码和捆绑文件之间有什么区别会导致这个错误发生? 故宫:3.8.2 节点:4.2.6 expression:4.13.1 webpack:1.12.13 babel-loader:6.2.4 webpack.config.js var webpack = require('webpack'); var path = require('path'); var nodeModules = {}; fs.readdirSync('node_modules') .filter(function(x) { return ['.bin'].indexOf(x) === -1; }) .forEach(function(mod) { nodeModules[mod] = 'commonjs ' + mod; }); module.exports = [ { entry: { […]

使用ES6导入+导出关键字和Babel导入/导出Express路由器

我有一个旧的testing项目,最初用Express 2.X构build。 我将它移动到Express 4.x并尝试插入Babel 6.x以使用服务器端的ES6function进行实验。 Express 4.x的更新正常。 原来的应用程序工作正常。 当我开始添加ES6function时出现问题。 特别是,我想用ES6 import {…} from…replace所有require和module.export指令,并且export {…} 。 问题:我似乎无法将外部文件的路由导入到主要的app.js文件中。 我的app.js像这样加载路由: import { indexRoute } from './routes/index_route'; app.use('/', indexRoute); 在index_route.js里面我有: "use strict"; import express from 'express'; var router = express.Router(); router.get('/', function(req, res, next) { res.render('index_view', { title: 'Express' }); }); export { router } 这个源代码对于Babel是可以的,但是在启动时节点抱怨: Router.use() requires middleware […]

创build并使用Babel插件,而不使其成为npm模块

在我的项目中,我使用了Babel 6和require hook。 我需要加载一个我写的自定义babel插件。 但是,我真的需要首先使用npm发布我的插件,然后在我的主项目的.babelrc包含插件名称? 有什么方法可以直接加载插件代码? 换句话说,我可以直接加载以下内容吗? export default function({types: t }) { return { visitor: { … } }; }

ES6自执行导入

我已经要求它自己执行并将结果保存到variables中 var $ = require('gulp-load-plugins')(); 我正在玩巴贝尔,并试图找出如何在ES6中做到这一点。 现在显然我可以做类似的事情 import gulpLoadPlugins from 'gulp-load-plugins'; const $ = gulpLoadPlugins(); 但是我想知道是否有一些很好的方法来做到这一点,就像require一样。

如何用节点js和babel保存正确的行号

我有以下设置,并有我的错误/堆栈跟踪问题,我错过了什么? package.json看起来像: { "name": "xxxxxx", "main": "server.js", "private": true, "scripts": { "start": "nodemon –exec ./node_modules/.bin/babel-node server.js" }, "dependencies": { "babel": "^6.5.2", "babel-cli": "^6.6.5", "babel-preset-es2015": "^6.6.0", "babel-preset-react": "^6.5.0", "babel-preset-stage-0": "^6.5.0", "babel-runtime": "^6.6.1" } } .babelrc看起来像: { presets: ["es2015", "stage-0", "react"], sourceMap: 'inline', retainLines: true } server.js看起来像: let aVar = ''; throw new Error('some error'); import errorHandler […]

如何忽略其他文件或组件所需的node.js中的文件

以下可以忽略或执行导入文件的一些修改,例如在我的index.js中 require.extensions['.js'] = function(file) { console.log(file.id) return; }; 不过,我真的不想忽略index.js中的这些文件,我想忽略在随后的文件/组件中导入的文件 require.extensions['.js'] = function(file) { console.log(file.id) return; }; require('babel-register') require('./components/Test.spec.js'); 例如这将logging下面的内容并返回 /Users/me/myapp/node_modules/babel-register/lib/node.js /Users/me/myapp/tests/components/Test.spec.js 真的是我想要的是它忽略Test.spec.js文件中的任何包含的特定types的文件 我知道在babel中指定忽略的选项,但是这只是忽略了他们被转发,所以不是真正的我想要的。 基本上我想要一个特定的文件types,例如.jsx不被编译,或者我可以重写这个需求并返回另一个函数。 https://babeljs.io/docs/usage/require/

用Webstorm(Babel)进行ES6debugging

有Webstorm V10,巴贝尔文件观察员工作正常,一切都很好。 现在我想debugging的代码,任何方式来debuggingES6文件本身或必须做的JS输出文件babel编译? 请指教。

babel-node无法在node_modules中要求jsx文件

我知道默认情况下, babel-node忽略了node_modules ,所以我运行了三种不同的方式来覆盖它,都失败了: 用.babelrc运行babel-node app.js : { "presets": ["es2015", "react"], "only": [ "app", "node_modules/react-components" ] } 结果: SyntaxError: Unexpected token <用于所需的jsx节点模块 用.babelrc运行babel-node app.js : { "presets": ["es2015", "react"], "ignore": "node_modules\/(?!react-components)" } result: SyntaxError: Unexpected token <用于require jsx节点模块 使用babel-node ./bin/www –ignore '/node_modules/(?!react-components)运行babel-node ./bin/www –ignore '/node_modules/(?!react-components) : { "presets": ["es2015", "react"] } 结果: [project]/node_modules/babel-preset-react/node_modules/babel-plugin-transform-react-jsx/lib/index.js:12 var visitor = […]