[英]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-es2015
和babel-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.