javascript - 无法在 node.js 中导入模块
问题描述
我正在尝试构建一个电子 Desctop 应用程序,但是当我想使用 nodejs 的文件系统(fs)时,我收到错误“未捕获的 ReferenceError:未定义要求”。当我搜索问题时,我从您的 package.json 中发现了一些提示,例如“delete "type:" "module" " 或使用 import 来代替,但对我来说没有任何效果。我一般不能使用任何模块,不仅仅是 fs,而且我的 main.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() 有效,但仅存在于此。当我想在我的 index.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>
我不是一个真正有经验的程序员,所以我希望我不会犯明显的错误并浪费您的时间,我期待您的帮助。
解决方案
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
}
})}
这里提出了解决方案。
推荐阅读
- php - 使用 PHP 从 RSS 获取图像
- swift - tableViewCell 错误的背景颜色
- java - android studio 新手并获得空指针异常
- excel - 如何获取特定范围内x数据的平均值
- ruby - Minitest/Mocha:测试一个值是否多次变化
- postgresql - 无法使用不同的用户名从 pg_dump 恢复 psql 数据库
- laravel - 函数调用其他函数
- python - 如何将表示元组的字符串列表转换为整数元组?
- html - 如何在电子邮件中创建按钮?
- reactjs - 为 react-dates 设置默认的 startDate 和 endDate 属性