node.js - 在 Electron 应用程序中将自定义模块导入 renderer.js
问题描述
我有一个自定义模块,它带有一些我想在renderer.js
. 我尝试了以下导入方式,但它不起作用(实际上,它会导致其他一些函数renderer.js
也无法执行。
const supp = require('./supp.js')
const supp = require('./supp')
const supp = require('supp.js')
const supp = require(path.join(__dirname, '/supp.js')
import 'supp'
supp.js
renderer.js
与和位于同一文件夹级别main.js
。如果有人可以建议?谢谢。
更新:以下是文件中的所有代码supp.js
const pinOneInGrp = (itemID, grpName, itemColor, grpColor) => {
let item = document.getElementById(itemID);
let grpItems = document.getElementsByClassName(grpName);
for(var i = 0; i < grpItems.length;i++) {
grpItems[i].style.background-color = grpColor
}
item.style.background-color = itemColor;
}
module.exports = {
pinOneInGrp
}
如果上面的import或require行之一包含在 的顶部renderer.js
,则不会执行任何后续操作renderer.js
。例如,在/行之后有一个ipc.send()
andipc.on()
动作。这两个不会从.import
require
main.js
解决方案
您发布的代码包含一个错字。它抛出的错误(您很可能看不到)是 a SyntaxError
,因为您不能从中减去color
(即undefined
)grpItems[i].style.background
然后分配给它。因此,您只需从
for (var i = 0; i < grpItems.length; i++) {
grpItems[i].style.background-color = grpColor;
}
至
for (var i = 0; i < grpItems.length; i++) {
grpItems[i].style.backgroundColor = grpColor;
}
(for 循环正下方的样式分配也是如此!)
请注意,在样式表中用连字符拼写的所有 CSS 属性都必须使用驼峰式,否则它们会表示减法,这会导致您的问题。此外,这种行为在Mozilla 的开发者网络 Web API 参考中进行了解释,特别是在“设置样式”下。
推荐阅读
- visual-studio-code - VSCode zshrc 配置文件正确加载
- swift - 如何将方形图像添加到 QRCode | 迅速
- python - 使用 Tkinter 从 Messagebox 复制
- flutter - Flutter_Webview 显示空白屏幕
- ruby-on-rails - Rails 5.2:Active Storage Variants service_url 在浏览器中抛出“no such key”错误
- php - 卷曲帖子字段以在 laravel 应用程序中形成,带有重定向和弹出窗口
- python - 点不可点击 - SELENIUM - PYTHON
- excel - Excel VBA - 如果未启用宏,则防止 excel 打开文件
- xamarin - Facebook Audience Network 的 Xamarin.Forms 实现
- apache-spark - 检查点灵活性 - SparkStreaming/Databricks 自动加载器