当前位置: 首页 > 知识库问答 >
问题:

如何使用import语句,目前是在模块外

赵俊远
2023-03-14

我的html文件中有这个脚本

import { createRequire } from 'module';
const require = createRequire(import.meta.url);
// can now use `require` in an ESM

我得到以下错误:Uncapted SyntaxError:无法在模块外使用import语句

在后面的代码中:

// Set options as a parameter, environment variable, or rc file.
        require = require("esm")(module/*, options*/)
        module.exports = require("./main.js")

我这样做是为了以后能够运行这一行:

const io = require("socket.io-client");

共有1个答案

符棋
2023-03-14

解决了。我不得不在脚本标记中添加“module”。

<script type="module"     
require = require("esm")(module/*, options*/)
module.exports = require("./main.js")     
const io = require("socket.io-client");
></script>
 类似资料:
  • 我正在使用NextJS与typescript,mongo Atlas,mongoose,node和Express。 当我运行node Pages/Server时,我收到以下错误:我已经上载了我的package.json文件,并且还添加了babel 从“express”导入express;^^^^^^ SyntaxError:不能在模块外部使用导入语句,位于wrapSafe(内部/modules/c

  • 如果你想要直接输入argv变量到你的程序中(避免在每次使用它时打sys.),那么你可以使用from sys import argv语句。如果你想要输入所有sys模块使用的名字,那么你可以使用from sys import *语句。这对于所有模块都适用。一般说来,应该避免使用from..import而使用import语句,因为这样可以使你的程序更加易读,也可以避免名称的冲突。

  • 问题内容: 我有一个ApolloServer项目给我带来麻烦,所以我认为我可能会更新它,并且在使用最新的Babel时遇到问题。我的“ index.js”是: 当我运行它时,出现错误“ SyntaxError:无法在模块外部使用import语句”。首先,我尝试做一些事情以说服TPTB *,这是一个模块(没有成功)。因此,我将“导入”更改为“需要”,并且此方法可行。 但是现在我在其他文件中有大约两打“

  • 我希望停止对以下模块使用语句,因为Node version 11现在支持ES6,但除了作为语句外,我找不到任何关于如何编写以下语句的文档: 是不是和和一样? 例如我只见过: 对于我只看到:

  • 今天我决定尝试学习React,但每当我尝试导入以下两个模块时: 我得到一个错误: 未捕获的SyntaxError:无法在模块外部使用导入语句 以下是我尝试创建React程序所采取的步骤: 安装NodeJS 为什么我会出现这个错误,我该如何修复它?

  • 问题内容: 有人可以向我解释该声明的工作方式吗? 例如,我在包中有一个类型: 我的包裹中有一个类型: 这给了我以下错误: 我试图将导入更改为以下代码: 但是得到这个错误: 我也不明白。那么,和之间有什么区别?如何正确设置我的模型? 问题答案: 每个包都有一组类型,函数,变量等。我们将它们称为 实体 。每个实体可以导出(名称以大写字母开头),也可以不导出(名称以小写字母开头)。 一个包只能访问另一个