Я хочу использовать модули в моем приложении nwjs, которые используют document
, но кажется, что они не могут должным образом получить доступ к DOM главной страницы.Ниже вы можете найти простой тест, который показывает проблему.
У меня есть следующие файлы:
package.json
...
"main": "index.html"
...
index.html
<html>
<head>
<meta charset="utf-8" />
<title>test</title>
</head>
<body>
<div id="container_model_view" class="brd"></div>
<script>let exports = {};</script>
<script src="./main.js"></script>
</body>
</html>
main.ts
(скомпилировано в main.js перед запуском)
import {getEl} from './mod_test';
console.log(document.getElementById("container_model_view"));
console.log(getEl());
mod_test.ts
export function getEl() {
return document.getElementById("container_model_view");
}
Вывод:
div#container_model_view.brd //access from main.ts - ok
null //access from mod_test.ts - fail
Я обнаружил, чтоЯ могу связать мой main.js с накопительным пакетом или веб-пакетом, и тогда он будет работать, потому что основной модуль и модуль 'mod_test' объединены в один файл.Но мне не нравится такой подход, так как я боюсь, что это повлияет на производительность, не говоря уже о том, что это кажется действительно ненужным дополнительным шагом при сборке.