Tag: babeljs

如何运行启用ES6function的Node.js应用程序?

我使用BabelJS (以前称为6to5)的require hook来运行具有es6features的节点应用程序: // run.js require("babel/register"); require("./app.js6"); 我调用node run.js来运行我的app.js6 。 我需要安装BabelJS并为每个我想使用es6features的项目提供一个run.js。 我更喜欢像nodejs6 app.js6这样的调用。 我怎样才能独立实现这个系统(Unix和Windows)?

断点debuggingminfied / mangled /编译variables

着手将JavaScript源代码构build到我的工作stream程中,并且一直在寻找关于debugging源地图的特定部分的一些文档。 在下面的图片中,我正在运行压缩的Javascript代码,但通过源地图的魔力,Chromedebugging器能够重build看似未压缩的代码,供我debugging: 但是,如果您查看本地variables, someNumber和someOtherNumber未定义。 相反,我们有a和r ,这是这个函数编译的variables名称。 这对于Mozilla Firefox和Chrome都是一样的。 我试图通过源代码映射的Chrome开发工具文档 ,但我没有看到任何关于这方面的文章。 这是目前的源代码debugging的限制,是否有任何解决方法呢? 更新 : 我已经find铬项目问题的线程 。 它看起来不像已经或正在执行。 随着团队开始在构build系统中实现Babel来编写ES2015代码,这正变得越来越重要。 有任何团队find解决办法吗?

如何使用React和Webpack设置Babel 6阶段0

我从文档的理解 我看到Babel 6现在有三个预置:es2015,反应和stage-x。 我读过,我可以像这样在.babelrc设置它们: { "presets": ["es2015", "react", "stage-0"] } 或者直接在package.JSON中如下所示: { …, "version": xxx, "babel": { "presets": ["es2015", "react", "stage-0"] }, …, } 我可以进一步使用webpack这样的babel-loader: loader: 'babel?presets[]=es2015' 我的问题 所以要编译一切很好,干净我添加babel-loader ,刚刚更新与Babel6一起工作,到这样的webpackconfiguration: module.exports = function(options) { var jsLoaders = ['babel?presets[]=es2015']; […] loaders: [ { test: /\.js$/, exclude: /node_modules/, loaders: jsLoaders }, { test: /\.jsx$/, exclude: /node_modules/, loaders: […]

为什么在使用babel-loader的时候Object.assign()需要一个polyfill?

我正在尝试在由webpack编译的Babel编译的ES6 Web应用程序中使用Object.assign() ,但是出现错误: Uncaught TypeError: Object.assign is not a function 我已经使用babel-loader将ES6转换为ES5,所以我所有的其他ES6代码都可以正常工作。 然而, Object.assign()只在我的代码库中import "babel-core/polyfill"之后才起作用。 我看到我也可以通过导入babel-runtime来解决这个问题,但是我想知道为什么 Object.assign()需要比babel-loader执行 – 不应该使用babel-loader预处理所有东西,包括Object.assign() ?

如何使用多个加载器将查询添加到webpack加载器?

我有这个巴贝尔装载机正在工作 { test: /\.jsx?$/, loader: 'babel', query: babelSettings, exclude: /node_modules/ }, 但现在我想要一个CoffeeScript加载程序,但是我想通过Babelpipe道来获取HMR的东西 { test: /\.coffee$/, loader: 'babel!coffee', query: babelSettings, exclude: /node_modules/ }, 这虽然不起作用,并导致以下错误。 错误:无法在加载器列表中定义“查询”和多个加载器 任何想法如何定义加载器链的Babel部分的查询? 查询是一个复杂的对象,我不认为我可以编码它。 var babelSettings = { stage: 0 }; if (process.env.NODE_ENV !== 'production') { babelSettings.plugins = ['react-transform']; babelSettings.extra = { 'react-transform': { transforms: [{ transform: 'react-transform-hmr', imports: ['react'], locals: ['module'] }, […]

使用babel后,IE中的'Symbol'是未定义的

我有一个使用ES6标准写的reactjs应用程序,我使用webpack来构build它。 webpack使用babel-loader js模块。 具体来说,我使用以下版本的软件包: ├── babel@5.8.34 ├── babel-core@5.8.34 ├── babel-loader@5.4.0 └── webpack@1.12.6 但是,build立后,IE 10给出了以下错误'Symbol' is undefined 。 不应该把babel定义为Symbol吗? 是否有任何具体的configurationwebpack或babel我需要设置为了使其工作? 我在我的.babelrc使用{stage: 0}configuration。 任何帮助将不胜感激,谢谢!

并行调用asynchronous/等待函数

据我所知,在ES7 / ES2016中,将多个await的代码放在一起,类似于链接.then()和promise,这意味着它们将一个接一个地执行,而不是在parallerl中执行。 所以,例如,我们有这样的代码: await someCall(); await anotherCall(); 我是否正确理解anotherCall()仅在someCall()完成时才被调用? 平行调用它们的最优雅的方式是什么? 我想在Node中使用它,所以也许有一个asynchronous库的解决scheme? 编辑:我不满意在这个问题提供的解决scheme: 由于非平行等待asynchronous生成器中的承诺放缓 ,因为它使用生成器,我在问一个更一般的用例。

在Babel 6.x中不能要求()默认导出值

在Babel 5.x中,我可以编写下面的代码: app.js export default function (){} index.js require('babel/register'); require('./app')(); 然后,我可以运行node index.js没有错误。 但是,使用Babel 6.x,运行下面的代码 index.es6.js require('babel-core/register'); require('./app')(); 导致错误 要求(…)不是一个函数 我想知道为什么?

与Babel.js的Transpileasynchronous等待提议?

有一个build议,介绍C#风格async-await 。 我知道Babel.js将ES6转换为ES5,但有什么办法可以使ES5变得asynchronous等待吗?

运行摩卡testing时,Babel意外的令牌导入

在其他相关问题中提供的解决scheme,例如在.babelrc中包含正确的预设(es2015),已经在我的项目中实现。 我有两个项目(让我们称之为A和B)都使用ES6模块语法。 在项目A中,我正在导入通过npm安装的项目B,并且位于node_modules文件夹中。 当我运行我的testing套件的项目A,我收到错误: SyntaxError:意外的标记导入 项目B中这个所谓的错误的代码行之前: (函数(exports,require,module,__filename,__dirname){从'history / lib / createBrowserHistory'导入createBrowserHistory; 因为我的源文件只包含“history / lib / createBrowserHistory”导入createBrowserHistory;项目B的testing套件中的unit testing运行良好,如果我作为依赖从项目B中删除项目项目A,我的testing套件(仍然使用es6导入内部项目模块)工作得很好。 全堆栈跟踪: SyntaxError: Unexpected token import at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:374:25) at Module._extensions..js (module.js:405:10) at Object.require.extensions.(anonymous function) [as .js] (/ProjectA/node_modules/babel-register/lib/node.js:138:7) at Module.load (module.js:344:32) at Function.Module._load (module.js:301:12) at Module.require (module.js:354:17) at require (internal/module.js:12:17) at Object.<anonymous> (actionCreators.js:4:17) at Module._compile (module.js:398:26) […]