在 electron 中要求 "client-side" JS 中的相对路径

Require relative path in "client-side" JS in electron

对于 HTML 文件中的 <script> 标签执行的脚本,require 如何在 Electron 中工作?例如,我有:

-index.html
-langs/js.js
-langs/test.js

我在 index.html 中有 <script src="langs/js.js"></script>,我想从 langs/js.js 中获取 langs/test.js,但这不起作用:

require("./test");

它必须是 require("./langs/test"); 即使从 js 到测试的相对路径只是“./test”。有没有办法在不指定每个 require 中的 HTML 文件的完整路径的情况下使其工作?

始终使用 require 加载 CommonJS 模块,否则 Node 将无法正确设置模块作用域,并且会以微妙的方式出现问题。如果您使用 <script>require('./langs/js.js')</script> 加载 js.js,那么 require('./test') 将如您所愿地工作。