Tag: babel register

我怎样才能从别的地方访问项目的babel相关的代码?

这是一个奇怪的需求,但我不认为这是一个X / Y问题。 我需要从我自己的工具访问一个项目的babel相关的依赖项和configuration。 我的工具可能是devDep,或者全局安装,或者用npx运行; 我无法知道。 我知道这可以用babel-register来完成,因为像babel-tape-runner这样的优秀工具可以做到这一点。 不过,就我而言,我不能只require('babel-register') ,然后需要其他文件; 我正在使用module._compile 。 (写出临时文件,运行它,然后取消链接在这种情况下不是一个好的select,因为它可能会发生数百或数千次)。 有没有什么方法来使用用户的项目本地Babelconfiguration和预设和插件从某处读取的一些代码,在将这些东西传递给module._compile ?

如何从全局安装的节点应用程序中获取本地文件夹中没有node_modules的响应组件?

所以我得到了一个需要全局安装的软件包,它接受用户定义的反应组件并呈现它们。 我使用babel-register并定义: require('babel-register')({ presets: [ 'es2015', 'stage-0', 'react', ], }); 我的package.json文件如下所示: "dependencies": { "babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "babel-preset-stage-0": "^6.24.1", "babel-register": "^6.24.1", "babel-runtime": "^6.23.0", "chokidar": "^1.7.0", "del": "^2.2.2", "marked": "^0.3.6", "react": "^15.5.4", "react-dom": "^15.5.4", "window-size": "^1.0.0", "yamljs": "^0.2.10" }, 现在,因为这些用户定义的反应组件有时住在没有安装.babelrc地方或者任何包中,所以我真的希望使用那些与包依赖关系一起全局安装的组件。 我试图避免在全球安装我的软件包时必须安装这些依赖项。 虽然不知道如何。 我检查了node_module文件夹,并安装了所有的依赖关系: . […] ├── babel-code-frame ├── babel-core ├── babel-generator ├── babel-helper-bindify-decorators ├── babel-helper-builder-binary-assignment-operator-visitor ├── […]

如何判断哪个文件被Babel 6转发?

我有一个使用babel-register的项目,当在Node 6.6项目中需要该模块时,将ES6源代码dynamic地转换为ES5。 我已经阅读了babel-register钩子到Node的require函数中,以便在你尝试加载的时候传输一个文件,但是我并不总是清楚哪些文件会受到这个变化的影响。 当我编写testing的时候,这个问题对我来说有很大的帮助:只有我的生产代码能够被转译,或者testing代码是否被转译?这就引出了一个更一般的问题,这就是本文的主题: 我怎样才能知道何时Babel正在运行,哪些文件正在被转发? 示例代码 比方说,我有这样的生产类是用ES6语法编写的 //src/greeter.js export default class Greeter { sayHello() { return 'Hello World'; } } 而Babel被configuration为像这样( .babelrc ) { "presets": ["es2015"] } 然后有一些testing代码 //features/step_definitions/greeter_steps.js import Greeter from '../../src/greeter'; //Causes greeter.js to be transpiled import expect from 'expect'; var stepWrapper = function() { //Does Babel try to transpile this code too? […]