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

无法导入node.js模块[复制]

陈富
2023-03-14

我正在尝试构建一个electron Desctop应用程序,但当我想使用nodejs的文件系统(fs)时,我遇到了错误“UncaughtReferenceError:require未定义”。当我搜索这个问题时,我在您的包中找到了一些提示,如“delete”类型:“module”。json或使用导入,但对我来说没有任何效果。一般来说,我不能使用任何模块,不仅仅是fs,而是我的主模块中的所有模块。js工作得很好。

const { app, BrowserWindow } = require('electron');
const path = require('path');

// Handle creating/removing shortcuts on Windows when installing/uninstalling.
if (require('electron-squirrel-startup')) { // eslint-disable-line global-require
  app.quit();
}

const createWindow = () => {
  // Create the browser window.
  const mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true
    }
  });

正如您所看到的,require()可以工作,但只有在那里。当我想在索引中使用它时,它不起作用。html来读取文件。

const { readFile } = require('fs');
readFile('./foo.txt', (err, source) => {
  if (err) {
    console.error(err);
  } else {
    console.log(source);
  }
});
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Test</title>
    <link rel="stylesheet" href="index.css" />
    <script defer src="test.js"></script>
  </head>
  <body class="content">
  </body>
</html>

我不是一个真正有经验的程序员,所以我希望我不会犯一个明显的错误,浪费你的时间,我期待着你的帮助。

共有1个答案

洪飞龙
2023-03-14
function createAddItemWindow() {

    // Create a new window
    addItemWindown = new BrowserWindow({
        width: 300,
        height: 200,
        title: 'Add Item',

        // The lines below solved the issue
        webPreferences: {
            nodeIntegration: true
        }
})}

这里提出了解决方案

 类似资料:
  • OS- Neon Linux我有以下命令行输出: 请告诉我,为什么PyCharm不能导入模块?

  • 我正在使用Ubuntu14.04计算机,试图将google.protobuf模块导入到Python2.7中。 我已经试过了 和 没有成功。 在python内部,我得到一个错误,即: “导入错误:没有名为google.protobuf的模块” 编辑1: 对不起,谢谢大家的评论。我还是Ubuntu和StackOverflow的新手。 具体来说,我输入到命令行 并获得反馈 Traceback(最近的调用

  • Python 2.7、Apache Spark 2.1.0、Ubuntu 14.04在pyspark shell中出现以下错误: 解决办法?

  • 问题内容: 为什么会发生这种情况? 结果是: 如果可以的话,它可以很好地加载模块,但是加载时似乎不起作用。 有关一些可能相关的其他信息: 我保存文件的模块在中。该模块。开始: 我试图从中加载的模块在in中,而不会弄乱路径。 在两种情况下都是相同的:我要加载的模块是。 可能以某种方式将附加内容弄乱吗? 问题答案: 泡菜取决于模块路径。不管您如何加载模块,如果您不介意的话,泡菜的加载和保存都应该起作用

  • 问题是: 我的问题是:我做错了什么?我如何修复事情以成功导入BuildingType接口?也许问题出在类路径上,但是我不知道哪个值是合适的。 代码组织: buildingType.java

  • 所以我今天遇到了一个奇怪的问题。我在IntelliJ中的一个模块有一些问题,所以我决定我应该试着把它关闭,然后从一个新的结账中重建它。我从Project窗口中删除了该模块,然后从我的文件系统中删除/重新下载了该模块。 我回到Intellij并尝试导入模块。它让我完成了选择选项的正常步骤,然后似乎成功了。只是它没有重新出现在我的项目窗口中。 我不确定我做了什么,但重新创建整个项目在这一点上不是一个选