我想在我的 nodejs 项目中使用 import 而不是使用 require。所以,我补充说,
"type": "module"
Run Code Online (Sandbox Code Playgroud)
在我的package.json 中。
import index from './index.js';
Run Code Online (Sandbox Code Playgroud)
在server.js 中
当我跑
节点服务器.js
错误说,
internal/modules/cjs/loader.js:1174
throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);
^
throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);
^
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: ....
Run Code Online (Sandbox Code Playgroud)
server.conf.js粘贴在下面。
import express from 'express';
import http from 'http';
let app = express();
let server = http.createServer(app);
import morgan from 'morgan';
import methodOverride from 'method-override';;
import path from 'path';
let port = process.env.PORT || …Run Code Online (Sandbox Code Playgroud) useHistory 给出此错误:
无法编译 ./src/pages/UserForm/_UserForm.js 尝试导入错误:“useHistory”未从“react-router-dom”导出。此错误发生在构建期间,无法消除。
react-router-dom 版本:
4.3.1
代码:
import React, { useState, Fragment } from 'react';
import FormUserDetails from './FormUserDetails';
import FormPersonalDetails from './FormPersonalDetails';
import Confirm from './Confirm';
import Success from './Success';
import Button from '@material-ui/core/Button';
import { Grid, makeStyles } from '@material-ui/core';
import { useHistory } from 'react-router-dom';
function UserForm() {
const [step, setStep] = useState(1);
const history = useHistory();
const StepButtons = (props) => (
<React.Fragment>
<Grid item xs={4}>
{props.value !== 'initial' ?
<Button variant="outlined" className={classes.button} onClick={(e) …Run Code Online (Sandbox Code Playgroud) 我正在尝试打印
['第一个电话!','第二个电话!' ]
我的代码:
function get(apiCalls) {
return Promise.all(apiCalls)
}
//------------ START
let promise = get([
() => Promise.resolve("First call!"),
() => Promise.resolve("Second call!")
]);
if (promise) {
promise.then((result) => result).catch((err) => console.log(err));
}
//------------ END
Run Code Online (Sandbox Code Playgroud)
但我得到输出:
[ [功能], [功能] ]
从START到END的代码片段不能更改
javascript asynchronous promise ecmascript-6 arrow-functions
createEmitter 函数应该创建一个新的 EventEmitter 并注册“打开”和“关闭”事件侦听器。这些事件的回调应该分别是 onOpen 和 onClose 参数。opens 和 close 方法应该在 EventEmitter 上引发“open”和“close”事件,它们将作为发射器参数接收。每个发射器只能调用一次回调。
例如,执行以下代码后,应该打印“Opened!” 然后“关闭!”:
let emitter = createEmitter(
() => console.log("Opened!"), () => console.log("Closed!")
);
opened(emitter);
closed(emitter);
Run Code Online (Sandbox Code Playgroud)
我的代码:
const events = require("events");
const myEmitter = new events.EventEmitter();
function createEmitter(onOpen, onClose) {
myEmitter.on('open', onOpen);
myEmitter.on('close', onClose);
}
function opened(emitter) {
myEmitter.emit('open', emitter);
}
function closed(emitter) {
myEmitter.emit('close', emitter);
}
let emitter = createEmitter(
() => console.log("Opened!"), () => console.log("Closed!")
);
opened(emitter);
closed(emitter);
module.exports.createEmitter = createEmitter;
module.exports.opened = opened;
module.exports.closed = …Run Code Online (Sandbox Code Playgroud) ecmascript-6 ×2
javascript ×2
node.js ×2
asynchronous ×1
eventemitter ×1
events ×1
import ×1
package.json ×1
promise ×1
react-hooks ×1
reactjs ×1