Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用import而不是require在ES6中添加模块_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript 使用import而不是require在ES6中添加模块

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的评论:从“

嗨,我正在尝试向我的代码中添加一个模块。在ES5中,我使用了

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