[英]Cannot find local module (js file) in Electron
我是Electron和Node的新手。 我似乎無法從Electron的另一個文件中獲取require()
本地.js文件,而且我也不明白問題所在。 我認為我所缺少的是非常簡單的東西,但是我找不到。
這是我的文件結構:
/
package-lock.json
node_modules
main.js
package.json
game/
...
test.js
properties.js
assets/html/
main_window.html
main.js
只會將main_window.html
加載到Electron窗口中,而不會加載其他內容。 <script src="../../game/test.js"></script>
從html文件內部引用了test.js
這是test.js
:
const properties = require('./properties'); ...
作為回報,我在開發工具控制台中收到此錯誤:
Uncaught Error: Cannot find module './properties'
當我在game
文件夾中使用node test.js
命令時,文件將被導入,一切正常。 但是,當我切換到Electron並從根npm start
使用npm start
,我想我需要在本地.js文件中添加一個點和一個正斜杠,因為它應該是它的名稱。 而且盡管與test.js
文件位於同一文件夾中,但似乎無法找到properties.js
。
還有package.json
文件,以防萬一可能需要它:
{
"name": "economy-board-game-electron",
"version": "1.0.0",
"description": "Recreation of that board game for educational purposes.",
"main": "main.js",
"scripts": {
"start": "electron ."
},
"author": "Edvin Boul",
"license": "MIT",
"dependencies": {
"electron": "^4.0.1"
}
}
該路徑可能是相對於html文件的路徑,請嘗試執行../../game/properties,如果可行,請考慮將您的主要html入口點與游戲目錄置於同一級別–
Electron不需要以任何特殊的方式來構造文件,但是從組織上來說,采用這種方式可能更容易推理,因此您不必編寫冗長的回溯路徑。
這也是他們大多數示例的完成方式,他們試圖做到這一點,以便您幾乎可以保留典型的網站結構。
我遇到了同樣的問題,大約一個小時前問了這個問題,只是得到了正確的答案(在評論中): 需要自定義模塊的問題 。
test.js
<script>
標記。 使用module.exports.Test = Test;
導出兩個JS文件module.exports.Test = Test;
和module.exports.Properties = Properties;
。 這些說明必須在各自的文件中,並在末尾。 我假設您的類(或您要導出的任何類)被命名為Test
和Properties
。
在HTML文件中的<script>
標記之間需要./../../game/test
。 (不確定路徑,但是您需要從HTML文件位置開始)
./properties
在test.js
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.