在新搭建的基于node.js的express框架时,不能直接运用import/export,否则会报错如下:
import mysql from 'mysql';
^^^^^^
SyntaxError: Unexpected token import
at new Script (vm.js:51:7)
at createScript (vm.js:136:10)
at Object.runInThisContext (vm.js:197:10)
at Module._compile (internal/modules/cjs/loader.js:618:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
at Module.load (internal/modules/cjs/loader.js:566:32)
at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
at Function.Module._load (internal/modules/cjs/loader.js:498:3)
at Module.require (internal/modules/cjs/loader.js:598:17)
at require (internal/modules/cjs/helpers.js:11:18)
[nodemon] app crashed - waiting for file changes before starting...
所以需要在入口文件里面导入babel依赖
1* yarn add babel-register babel-preset-env --save-dev
2* 在./bin/www
文件的第一行添加如下代码
require('babel-register')({
presets: ['env']
});
3* npm start
启动项目,已可以正常运行了
> nodemon ./bin/www
[nodemon] 1.18.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node ./bin/www`