У меня есть старое приложение-браузер с несколькими зависимостями, которые я хочу перенести в TypeScript. Поэтому я использовал следующее в моем app.ts
и скомпилировал его с ES6 с AMD (надеюсь, AMD подходит для браузера):
import * as L from 'leaflet';
import * as LG from 'leaflet-geosearch';
import * as $ from 'jquery';
import * as d3 from 'd3';
, который скомпилирован в следующее:
define(["require", "exports"], function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
});
//# sourceMappingURL=app.js.map
Я ссылаюсь на следующее HTML:
<head>
<script src="scripts/app.js"></script>
</head>
Когда я загружаю это в свой браузер, я получаю
Uncaught ReferenceError: define не определено
Так что я искал и узнал, что это, скорее всего, ошибка с Require JS. Следуя документам из Require JS в https://requirejs.org/docs/node.html. Я скачал Require JS с NPM, потому что я уже установил зависимость для листовки через NPM. Вместо того, чтобы ссылаться на мой app.js
в моем HTML, у меня теперь есть это:
<head>
<script>
var requirejs = require('requirejs');
requirejs.config({ nodeRequire: require });
requirejs(['leaflet', 'scripts/app.js']);
</script>
</head>
Однако теперь я получаю
Требуется не определено