如何使用import而不是require与节点js?

时间:2017-11-01 20:30:36

标签: node.js ecmascript-6 babeljs

目标:为了能够使用es6导入,导出默认值等...

我所做的是在项目的根目录中包含一个.babelrc文件,其中包含:

 {
   "presets": ["env", "react", "stage-0", "stage-1"],
   "plugins": ["transform-object-rest-spread"]
 }

我查看了关于babel和节点的文档,它说我所要做的就是包含我所做的预设"env",但是当我尝试做如下声明时:

import { data } from './data'

我在import语句中遇到意外的令牌错误,因此我假设我没有正确执行某些操作。

1 个答案:

答案 0 :(得分:1)

典型的webpack.config.js

module: {
    rules: [
        {
            test: /\.js$/,
            use: 'babel-loader',
            exclude: /node_modules/,
        },
        ...
    ]
}

我建议您将.babelrc更新为以下内容。

{
    "presets": [
        [
          "env",
          {
            "modules": false,
            "loose": true
          }
        ],
        "react"
    ],
    "plugins": [
        "transform-object-rest-spread"
    ]
}

更多好东西装饰/函数绑定/类道具等,

{
    "presets": [
        [
          "env",
          {
            "modules": false,
            "loose": true
          }
        ],
        "react"
    ],
    "plugins": [
        "transform-object-rest-spread",
        "transform-function-bind",
        "transform-class-properties",
        "transform-decorators-legacy",
    ]
}