koa2 + mysql 实现es6(export + import)模块加载

本文探讨了在Node.js环境中,为何要从CommonJS转向ES6模块加载。主要原因是ES6的按需导入能提高性能,只加载所需的部分。在Koa2项目中,通过配置Babel和nodemon,实现了对ES6模块的支持。步骤包括安装相关依赖,修改package.json脚本,并创建.babelrc文件进行预设配置。

问题分析

node环境下是默认情况下只支持comomJS,也就是使用module.exports 导出模块,然后用require 导入模块。

为什么非得用es6模块加载呢?

  1. 一方面es6的引入方式用多了,就不太习惯用commoJS。
  2. 另一方面从性能上考虑,commonJS引入模块时是将整个文件全部导入,当然也可以在导入时只使用其中某些对象。
// commonJS导入
const { test1, test2 } = require('./test') 
// 上一步相当于
const test = require('./test')
const test1 = test.test1
const test2 = test.test2
// 而在es6中
import { test1, test2 } f

```javascript
rom './test'
// 这一句相当于之导入test中的test1,test2 其他的东西不会加载

具体实现

1、本项目是koa2脚手架项目。创建好项目后安装以下依赖:

npm i babel-core,
npm i babel-preset-env,
npm i -g babel-node

2、pacakege.json dev命令增加 --exec babel-node

"scripts": {
    "start": "nodemon bin/www --exec babel-node",
    "dev": "./node_modules/.bin/nodemon bin/www --exec babel-node",
    "prd": "pm2 start bin/www",
    "test": "echo \"Error: no test specified\" && exit 1",
    "auto": "node config"
  },

3、添加.babel文件

{
    "presets": [
     "env"
     //"es2015"
    ],
    "plugins": []
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值