• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

babel.transform()函数不使用.babelrc或package.json配置

JavaScript 来源:McShaman 5次浏览

我正在尝试使用Babel将ES6转换为已加载到变量中的ES5。但是,我发现与Babel文档相反babel.transform()未使用配置文件来转换代码。babel.transform()函数不使用.babelrc或package.json配置

下面演示了我的问题:

的package.json:

{ 
    "name": "babel-test", 
    "version": "1.0.0", 
    "main": "index.js", 
    "babel": { 
     "presets": [ 
      ["env", { 
       "targets": { 
        "ie": 8 
       } 
      }] 
     ] 
    }, 
    "devDependencies": { 
     "babel-core": "^6.26.0", 
     "babel-preset-env": "^1.6.1" 
    } 
} 

test.js:

const a = 0 

index.js:

const babel = require('babel-core') 
console.log(babel.transform('const a = 0').code) 
console.log(babel.transformFileSync('test.js').code) 

CLI:

$ node index.js 
const a = 0; 
"use strict"; 

var a = 0; 

正如你可以看到babel.transformFileSync()使用的配置和babel.transform()不是。

我该如何获得babel.transform()使用配置文件?

===========解决方案如下:

.babelrc相对于正在编译的文件搜索文件,因此如果它不知道文件的名称,则无法找到它。

babel.transform('const a = 0', {filename: "test.js"}).code) 

例如会工作。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)