nodejs 使用 import es7 语法

February 01, 20192分钟阅读

最近需要使用 Hapi 开发一些后端的相关东西, 但是 nodejs 的 require 让我很不爽, 故查询了一些办法能够直接使用 es7 import 语法 目标: 在代码中使用 import path from "path"

使用的是前端思维, 不知道有没有其他更好的办法

require

  • nodejs: v8+
  • yarn/npm

安装

yarn add @babel/core @babel/polyfill @babel/register @babel/plugin-proposal-decorators @babel/preset-env --dev

入口文件 index.js, 复制一下内容

'use strict'

require('@babel/polyfill')
require('@babel/register')({
  plugins: [
    [
      '@babel/plugin-proposal-decorators',
      {
        legacy: true, // 必须这样设置, 否则装饰器会有一些限制, see https://babeljs.io/docs/en/babel-plugin-proposal-decorators#legacy
      },
    ],
  ],
  presets: ['@babel/preset-env'],})

module.exports = require('./app') // 替换成真正的文件入口;

如果还需要其他的语法, 和 babelrc的设置方式一致

注意, 如果项目根目录包含 babelrc文件, 建议删除

即可在其他文件使用 import

Reference

未经许可, 不可转载