Icy*_*Brk 4 node.js es6-modules
我正在查看从GitHub下载的NodeJS项目.它有一个主文件,server.js它使用ES6模块导入语法,如下所示:
import express from 'express';
import bodyParser from 'body-parser';
import fs from 'fs';
import { search } from './lib/words';
Run Code Online (Sandbox Code Playgroud)
我安装了NodeJS版本4.6.0,这很老了,我认为它不支持这种语法.相反,它应该像:
var express = require(express)
var bodyParser = require('body-parser')
...
Run Code Online (Sandbox Code Playgroud)
但是我可以正确地运行这个项目而没有错误,我认为这表明NodeJS支持这种语法,但NodeJS文档从未指定这样的模块语法.我们在这里使用它的原因是什么?谢谢你的帮助.
运行时npm start,运行中的启动脚本package.json,意味着start.js执行.
start.js用于babel-register将新的ES6语法(包括导入)转换为Node即时理解的普通ES5 JavaScript.在.babelrc该节目es2015预设正在被使用,其中ES2015(ES6)码转换为正常ES5 JS.
这对你很重要的特定变压器transform-es2015-modules-commonjs,这将改变import到require如预期.
| 归档时间: |
|
| 查看次数: |
2188 次 |
| 最近记录: |