我試圖在Electron應用程序上工作,並且試圖從Chromium瀏覽器窗口中運行的另一個腳本需要模塊時遇到問題。無論我如何指定相對路徑,我都會遇到無法找到模塊的相同錯誤。Chromium腳本中的電子需求模塊
我的項目設置是這樣的:
index.html
scripts
controllers
controller.js
models
game.js
tests
spec
gameSpec.js
我的index.html,默認情況下是帶出來的頁面時電子發射,負載controller.js作爲身體的最後一個正常的腳本標籤。
<script src="scripts/controllers/controller.js"></script>
controller.js在頂部下面的代碼:
var Game = require("../models/game.js");
.... some other code .....
var game = new Game();
在啓動電子鉻窗口,我立刻碰到這個問題:
Uncaught Error: Cannot find module '../models/game.js'
我的假設是,我需要一個從controller.js文件到它正在導入的game.js文件的相對路徑,但無論我做什麼樣的調整,我都會得到這個錯誤。我不認爲這是一個純粹的語法錯誤,因爲我有測試下的規範文件夾中所有正在運行和傳球成功地使用需要這樣的:
var Game = require("../../models/game.js");
describe("Game", function() { ... });
我是做關於如何要求相對尋路是一個不正確的假設從Chromium瀏覽器執行時完成?任何幫助表示讚賞!
感謝您的回覆!不幸的是,不起作用,導致相同的錯誤。幸運的是你的建議var Game = require(__ dirname ....)就像一種魅力,雖然我認爲它看起來很脆弱,並且讓我擔心我想打包應用程序時會發生什麼。我將這個項目從沒有Node的.Net轉換而來,所以我試圖在遷移中採取寶貝步驟。 – user1433070
這裏的問題是'controller.js'是一個CommonJS/Node模塊,但是'