繁体   English   中英

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

[英]Add a module in in ES6 using import instead of require

嗨,我想在我的代码中添加一个模块。 在ES5我用过

var promise = require('bluebird');

所以我尝试import { promise } from 'bluebird'但它没有任何想法为什么?

一般来说使用import而不是require我们应该使用一些外部模块,因为Node.js还不支持ES6的导入。

为此,我们首先要安装babel-preset-es2015babel-cli这些模块。

npm install --save-dev babel-preset-es2015 babel-cli

然后我们创建一个名为.babelrc的点文件,我们在其中添加了这个对象:

{
    "presets": ["es2015"]
}

现在我们将能够使用import而不是require 例如,我们可以尝试一些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

实际上import { promise } from 'bluebird'在es5中翻译为var promise = require('bluebird').promise 所以在es6中等效的var promise = require('bluebird')import * as promise from 'bluebird'

编辑:基于@Bergi的评论: import Promise from 'bluebird'是一个更简化的版本。

Greeter.js (把它放到Scripts文件夹中):

export class Greeter() {
    constructor() {

    }

    getGreeting() {
        alert('Hello from the greeter class');
    }
}

叫它:

<script>
    import {Greeter} from "/Scripts/Greeter.js";

    let greeter = new Greeter();
    greeter.getGreeting();
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM