Я пишу приложение, которое использует два компонента, которые кажутся конфликтующими друг с другом.
Liquidfun.js и node.js/NW.js
Я использую Liquidfun для имитации жидкости. Я использую window.get() в NW.js, чтобы установить уровень масштабирования окна. Каждый работает без другого.
Вот ошибка, когда я запускаю оба одновременно.
Uncaught ReferenceError: module is not defined liquidfun.js:3
Uncaught TypeError: undefined is not a function liquidfun.js:1443
Я подозреваю, что у узла есть какое-то функциональное свойство, которое разделяет имя «модуль» с чем-то в библиотеке Liquidfun.
Как запретить NW.js обрабатывать скрипт Liquidfun?
Дополнительная информация:
Страницы обслуживаются с сервера xampp на том же компьютере, поэтому мне приходится использовать «удаленный узел», чтобы установить уровень масштабирования.
РЕДАКТИРОВАТЬ:
HTML, загружаемый nw.js
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>html5canvas</title>
<script src="libs/liquidfun.js"></script>
<script>
var gui = require('nw.gui');
win = gui.Window.get();
win.zoomLevel =[-10];
</script>
</head>
<body onload="init();" style="background-color:#D4D4D4">
<canvas id="canvas" width="2160" height="3840" style="background-color:#B1D1B1"></canvas>
</body>
<script>
var world = null;
var gravity = new b2Vec2();
function init(){
world = new b2World(gravity);
}
</script>
NW.js Package.json
{
"main": "main.html",
"name": "Fun Editor",
"node-remote" : "127.0.0.1"
}
Результатом этого является ошибка модуля, упомянутая в исходном сообщении. Когда node-remote удален, жидкость fun сообщает об успешной загрузке. Есть еще одна ошибка без node-remote
UncaughtReferenceError: require is not defined (program):1
liquidfun.js
находит, чтоrequire
определен, поэтому он предполагает, что он загружается как модуль, и ожидает, чтоmodule
иexports
также будут определены. Выложу решение. - person cviejo   schedule 12.01.2016