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

新手上路,请多包涵

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

var promise = require('bluebird');

所以我尝试了 import { promise } from 'bluebird' 但不知道为什么?

原文由 Muhammad Raihan Muhaimin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 295
2 个回答

实际上 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' 是一个更简化的版本。

原文由 Muhammad Raihan Muhaimin 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

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

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

 {
    "presets": ["es2015"]
}

现在我们将能够使用 import 而不是 require 。 For example, we can try on some server.js file this peace of code where we call express module using import instead of require :

 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

原文由 Taha EL BOUFFI 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏