Tag: babeljs

未捕获错误:定义不能间接使用

我正在使用webpack和babel来传输es6 / jsx文件中的一个节点,我正在制作一个React应用程序。 一切都很好,直到我包括google spreadsheet npm模块,并尝试将其导入到我的项目。 我得到错误Uncaught Error: define cannot be used indirect但在导入的模块内没有定义语句。 这个错误只出现在浏览器中,而不是在我的控制台,当webpack绑定我的文件,并完全停止任何东西在页面上呈现。 我认为这与AMD / Commonjs有关,但是我太缺乏经验,无法确切知道,或者如果是这样的话,甚至可以做什么。 任何帮助,将不胜感激

为什么babel在USERPROFILEpath中存储.babel.json

我正在azurenetworking应用上运行一个nodejs应用程序,我正在尝试使用npm在其中集成babel。 问题是,巴贝尔正试图获得一个文件 %用户资料% 名为.babel.json,一个不存在的文件。 这很可能通过以下方式安装: npm install -g babel 在azure色的networking应用程序,我似乎无法find它(即使在运行npm install -g babel在该网站的kudu)。 我使用kudu将%USERPROFILE%的文件复制到%USERPROFILE%但在Web应用程序中重新启动文件消失。 有没有一种方法可以使网页上的应用程序babel工作? UPDATE 我没有做一些事情。 当我尝试加载babel/register时出现错误。 require('babel/register')({ optional: ["es7.asyncFunctions"] }); 而我在stream日志中看到的实际错误是 应用程序抛出一个未捕获的exception,并终止:错误:ENOENT,在Object.fs的Object.fs.openSync(fs.js:438:18)上没有这样的文件或目录'D:\ local \ UserProfile.babel.json' .writeFileSync(fs.js:977:15)保存(D:\ home \ site \ wwwroot \ node_modules \ babel \ node_modules \ babel-core \ lib \ api \ register \ cache.js:35:19)。在node.js:906:3启动时(node.js:119:16),Function.Module.runMain(module.js:499:11)处的_tickCallback(node.js:419:13) 该项目在Github上

如何在浏览器上本地安装babel和使用ES6?

所以,我在这里跟随教程来学习ES2015: http://k33g.github.io/2015/05/02/ES6.html 但是,我没有find基于该教程的这个文件: node_modules/babel-core/browser.js 我在哪里可以得到browser.js? 因为执行后: npm install babel-core 在node_modules\babel-core有2个browser.js 1 node_modules\babel-core\lib\api\register\browser.js 2 node_modules\babel-core\lib\api\browser.js 我应该复制哪一个?

告诉react-native打包者观看一个非javascript文件

我正在使用babel插件将.env文件中的环境variables加载到React Native项目中,但直到导入它们的JavaScript文件发生变化时才会加载对.env文件的更改。 我想要一个方法告诉react-native打包器在这个文件改变的情况下重新编译。 我会接受一个答案: 当特定文件( .env )发生更改时,只需重新编译整个项目.env 。 只重新编译包含特定string的文件,如foo 有一个简单的方法来做到这一点,通过编写一个插件/中间件? 也许是一个单独的后台脚本,引发反应 – 本机打包者正在监听的事件给看守? [编辑在回复评论] 我目前的.babelrc如下,其中babel-plugin-react-native-config是我写的一个插件,用于与react-native-config软件包一起执行热variables交换。 { "presets": [ "react-native" ], "plugins": [ ["babel-plugin-espower", { "sourceRoot": "./App" }], "transform-flow-strip-types" ], "env": { "production": { "plugins": [ "babel-plugin-unassert", ] }, "development": { "plugins": [ ["babel-plugin-react-native-config", { envfile: ".env" }] ] } } } 问题是react-native打包程序只能看javascript文件。 我不认为改变我的babelconfiguration将有所帮助,除非babel可以以某种方式向上说出反应 – 本地或守望者通知它,某些文件需要重新编译… […]

能够中止asynchronous调用

我正在使用es7风格的asynchronous/等待方法babeljs。 我有一个主脚本将调用一个对所有返回承诺的对象数组的asynchronous方法。 我使用Promise.all()等待所有这些返回,但是,这些任务可能需要很长时间,如果他们超过了阈值,我想中止所有这些,并以合适的方式处理任务。 有没有办法完成这样的事情? 目前我能想到的唯一方法是产生一个调用这些方法并等待它们全部解决的过程,如果达到了时间限制,它可以终止进程并执行任何需要的处理。 更新:关于主脚本正在等待的这些方法的一些说明…他们可能正在做一连串的操作(调用外部系统,stream文件到某处等),而不是执行一个可以独立取消的单个操作。 更新#2:一些未经testing的半伪代码 class Foo1 { async doSomething() { // call some external system // copy some files // put those files somewhere else (s3) } } class Foo2 { async doSomething() { // Do some long computations // Update some systems } } class FooHandler { constructor() { this.fooList = […]

import和const之间有什么区别,哪一个在commonjs中是首选的

我注意到使用const和import在使用es6语法和Babel的node.js应用程序中引用库的一些切换。 什么是首选的方法,使用const和import有什么区别? 假设你可能在许多文件/组件中导入相同的库。 常量 const React = require('react') import import React from 'react' 这里是每个的定义,但我仍然不确定使用哪个。 import 导入语句用于导入从外部模块,另一个脚本等导出的函数,对象或原语。 常量 const声明为一个值创build一个只读引用。 这并不意味着它所拥有的价值是不可变的,只是variables标识符不能被重新分配。

在Babel中使用acyns /等待Node 6

我正在尝试为Node v6.9.2configurationBabel。 我想要使​​用async / await结构。 因为我是Babel和所有Node基础设施的新手,所以我很困惑如何正确configuration它: 我应该使用什么预设? 节点已经实现了大部分的ES6function。 所以我不希望Babel出于性能方面的原因而转储已经被Node 6.9.x支持的function(箭头函数,新的导入机制等等)。 我应该包含哪些插件,以便我可以使用async / await? 在那里我也困惑,因为经过一番研究,我发现了几个插件: syntax-async-functions , transform-async-to-generator等等。 .babelrc将有所帮助。 谢谢

在node.js(ES6 / Babel)中inputX和input*之间的区别是X?

我有一个在ES6(用Babel编译)编写的node.js库lib ,我在其中导出以下子模块: "use strict"; import * as _config from './config'; import * as _db from './db'; import * as _storage from './storage'; export var config = _config; export var db = _db; export var storage = _storage; 如果从我的主要项目,我包括这样的图书馆 import * as lib from 'lib'; console.log(lib); 我可以看到正确的输出,并按预期工作{ config: … } 。 但是,如果我尝试像这样包含库: import lib from 'lib'; […]

debuggingNodeJS + ES6应用程序(Webstorm)

我想在客户端和服务器端都使用ES6。 当然,我可以从像babel-node src/app.js这样的terminal启动我的NodeJS服务器,但是这使得无法进行debugging。 另一方面,Webstorm 9声称它支持ES6,但是当我尝试启动一个默认的Nodeconfiguration时,它抱怨a => a + 1函数。 问:如何从Webstorm 9内部启动NodeJS + ES6应用程序? PS我使用节点0.12。*版本PS我也试过这个,但它也不适合我

Symlinking与npm链接反应模块为本地开发提供了错误

在我的React npm模块的开发过程中,我将它与npm link 。 完成此操作后,程序包会正确链接,并显示在消费者应用程序node_modules 。 该模块公开一个接口来创build一个React组件。 因为我正在使用React , jsx和es2015 ,所以我使用babel在预发布阶段使用npm prepublish hook来传输我的模块代码。 但是,当我尝试使用webpack构build我的消费者应用程序时(即,在链接它之后),在我的包中出现错误,指出: 模块构build失败:错误:无法find预设“es2015” 现在有趣的是,如果我在npm上发布软件包,那么npm install从我的消费者应用程序的registry中npm install ,构build它,一切工作正常。 我尝试在我的消费者应用程序中安装babel-preset-es2015 ,但是却开始抱怨没有findbabel : 找不到模块:错误:无法parsing模块'babel' 再次,如果我从npmregistry安装它一切正常,在构build过程中不会引发错误。 我也尝试安装babel-core , babel-cli和babel-polyfill ,都无济于事。 我在任何地方都使用babel v6.1.x ,并意识到所有最近的变化,但是我想我错过了一些明显的东西,如果有人能够帮助我,我会很感激它,因为不断发布模块来testing东西的作品只是不好的做法。 为了完整起见,这里是代码: 模 消费者应用 以下是链接模块的步骤: cd ~/Sites/me/react-leafbox npm link cd ~/Sites/me/mapp npm link react-leafbox npm start build筑后堆积痕迹: ERROR in ../react-leafbox/lib/index.js Module build failed: Error: Couldn't […]