您好我正在尝试将模块添加到我的代码中。在ES5中,我使用了
var promise = require('bluebird');
所以我尝试了import { promise } from 'bluebird'
,但它不知道为什么?
答案 0 :(得分:5)
通常使用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
代替express
来尝试使用import
文件代替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');
});
。{/ p>
./node_modules/.bin/babel-node app.js --presets es2015
最后在我们的shell中,我们必须运行这个命令:
if (navigator.share) {
navigator.share({
title: 'Web Fundamentals',
text: 'Check out Web Fundamentals — it rocks!',
url: 'https://developers.google.com/web',
})
.then(() => console.log('Successful share'))
.catch((error) => console.log('Error sharing', error));
}
答案 1 :(得分:3)
实际上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'
是一个更简化的版本。
答案 2 :(得分:1)
在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>