const { resolve } = require('path')
const r = path => resolve(__dirname, path)
// cnpm i babel-core babel-preset-stage-3@6.24.1 babel-preset-latest-node@0.2.2 babel-polyfill -D
// latest-node 0.2.2 版本正常使用
// node 问题: Cannot find module 'babel-core/register' 删除node_modules重新安装
// 支持最新的es6语法
require('babel-core/register')({
'presets': [
'stage-3',
'latest-node'
],
// cnpm i babel-plugin-module-alias babel-plugin-transform-decorators-legacy -D
// es7 装饰器decorator 语法的兼容所要安装的解析器
'plugins': [
'transform-decorators-legacy',
[
'module-alias', [
{
src: r('./server'), 'expose': '~',
src: r('./server/database'), 'expose': 'database'
}
]
]
]
})
require('babel-polyfill')
require('./server')
具体小程序练习项目
cnpm install @babel/core @babel/register --save-dev
require("@babel/register");
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
# It only does one thing by converting all import() to require().
# This configuration can significantly increase the speed of hot updates,
# when you have a large number of pages.
# Detail: https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js
配合.env.development里的VUE_CLI_BABEL_TRANSPILE_MODULES = true