我希望停止对以下模块使用require()
语句,因为Node version 11现在支持ES6,但除了express
作为import
语句外,我找不到任何关于如何编写以下语句的文档:
import express from "express";
const http = require('http');
import bodyParser from 'body-parser';
const morgan = require('morgan');
是不是和morgan
和超文本传输协议
一样?
例如morgan
我只见过:
从'morgan'导入记录器;
对于http
我只看到:
import*作为“http”中的http
require
是模块的主要语法(在节点中)。正如Patrick Roberts提到的,您只能将它们用于。mjs
(模块JS)文件require
是导入NPM包/节点模块的方式:
const express = require("express");
const http = require("http");
const bodyParser = require("body-parser");
const morgan = require("morgan");
如果您确实希望使用ES6导入/导出
,则需要使用。mjs
,如下所述。
使用节点v12。2.0我可以像这样导入所有标准模块:
import * as Http from 'http'
import * as Fs from 'fs'
import * as Path from 'path'
import * as Readline from 'readline'
import * as Os from 'os'
与我之前所做的相比:
const
Http = require('http')
,Fs = require('fs')
,Path = require('path')
,Readline = require('readline')
,Os = require('os')
任何作为ECMAScript模块的模块都可以导入,而无需使用。mjs扩展,只要它的包中有这个字段。json文件:
"type": "module"
所以一定要把这样的包裹放进去。json文件与正在制作的模块位于同一文件夹中。
要导入未使用ECMAScript模块支持更新的模块,可以执行以下操作:
// Implement the old require function
import { createRequire } from 'module'
const require = createRequire(import.meta.url)
// Now you can require whatever
const
WebSocket = require('ws')
,Mime = require('mime-types')
,Chokidar = require('chokidar')
当然,不要忘记,这是使用模块导入实际运行脚本所必需的:
node --experimental-modules my-script-that-use-import.js
父文件夹需要这个package.json文件,脚本才不会抱怨导入语法:
{
"type": "module"
}
如果您要使用的模块尚未更新为支持使用导入语法导入,那么除了使用require之外,您别无选择(但对于我上面的解决方案,这不是问题)。
我是Java编程的初学者。我是在编写一个基于prime checker的程序时遇到这个问题的。已经明确指出,; 编辑器中锁定的代码将使用一个或多个整数参数调用checkPrime方法。您应该以这样的方式编写checkPrime方法:代码只打印素数。请仔细阅读编辑器中给出的代码。也请不要使用方法重载! 我想知道下面的评论行w. r. t.下面的Java程序之后的声明的作用是什么? 它们在锁定代码中的
如果你想要直接输入argv变量到你的程序中(避免在每次使用它时打sys.),那么你可以使用from sys import argv语句。如果你想要输入所有sys模块使用的名字,那么你可以使用from sys import *语句。这对于所有模块都适用。一般说来,应该避免使用from..import而使用import语句,因为这样可以使你的程序更加易读,也可以避免名称的冲突。
我有一些多绑定代码,看起来像这样: 我也有一些代码,看起来像这样: Guice中有没有一种方法可以减少行数/重复次数? 编辑:不寻找像“使用for循环并迭代一组键”这样的答案。
我的html文件中有这个脚本: 我得到以下错误:Uncapted SyntaxError:无法在模块外使用import语句 在后面的代码中: 我这样做是为了以后能够运行这一行:
我正在使用NextJS与typescript,mongo Atlas,mongoose,node和Express。 当我运行node Pages/Server时,我收到以下错误:我已经上载了我的package.json文件,并且还添加了babel 从“express”导入express;^^^^^^ SyntaxError:不能在模块外部使用导入语句,位于wrapSafe(内部/modules/c
问题内容: 我有一个ApolloServer项目给我带来麻烦,所以我认为我可能会更新它,并且在使用最新的Babel时遇到问题。我的“ index.js”是: 当我运行它时,出现错误“ SyntaxError:无法在模块外部使用import语句”。首先,我尝试做一些事情以说服TPTB *,这是一个模块(没有成功)。因此,我将“导入”更改为“需要”,并且此方法可行。 但是现在我在其他文件中有大约两打“