Javascript 使用import而不是require在ES6中添加模块
嗨,我正在尝试向我的代码中添加一个模块。在ES5中,我使用了Javascript 使用import而不是require在ES6中添加模块,javascript,ecmascript-6,Javascript,Ecmascript 6,嗨,我正在尝试向我的代码中添加一个模块。在ES5中,我使用了 var promise = require('bluebird'); 所以我试着从“蓝鸟”导入{promise},但不知道为什么?实际上是从“蓝鸟”导入{promise}在es5中翻译为var promise=require('bluebird')。promise。因此,es6中的var promise=require('bluebird')的等价物将是import*作为“bluebird”的承诺 编辑:根据@Bergi的评论:从“
var promise = require('bluebird');
所以我试着从“蓝鸟”导入{promise},但不知道为什么?实际上是从“蓝鸟”导入{promise}在es5中翻译为
var promise=require('bluebird')。promise
。因此,es6中的var promise=require('bluebird')
的等价物将是import*作为“bluebird”的承诺
编辑:根据@Bergi的评论:从“蓝鸟”导入承诺
是一个更简化的版本 在Greeter.js
中(将其放入Scripts
文件夹中):
叫它:
<script>
import {Greeter} from "/Scripts/Greeter.js";
let greeter = new Greeter();
greeter.getGreeting();
</script>
从“/Scripts/Greeter.js”导入{Greeter};
让迎宾员=新迎宾员();
greeter.getGreeting();
一般使用import
而不是require
我们应该使用一些外部模块,因为Node.js
还不支持ES6的导入
为此,我们首先必须安装这些模块babel-preset-es2015
和babel-cli
npm install --save-dev babel-preset-es2015 babel-cli
然后我们创建一个名为.babelrc
的点文件,在其中添加以下对象:
{
"presets": ["es2015"]
}
现在我们可以使用导入
而不是要求
。例如,我们可以尝试在一些server.js
文件中使用import
而不是require
调用express
模块:
import express from 'express'; //instead of const express = require('express');
const app = express();
app.get('/',function (req, res){
res.send('hello from import');
});
app.listen(4444, function(){
console.log('server running on port 4444');
});
最后,在shell中,我们必须运行以下命令:
./node_modules/.bin/babel-node app.js --presets es2015
从“蓝鸟”导入承诺
应该做什么?迎宾员
和蓝鸟有什么关系?@Bergi哦,对不起,我只是举一个例子,如何通过使用import
关键字调用模块。@HappyCoding我使用蓝鸟只是一个例子。所以没关系。
./node_modules/.bin/babel-node app.js --presets es2015