我有一些遗留浏览器应用程序,有一些依赖项,我想迁移到TypeScript。因此,我在我的app.ts中使用了以下内容,并使用ES6编译了它(我希望它适合浏览器):
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>当我把它加载到我的浏览器中时,我会得到
未定义ReferenceError:未定义
所以我搜索了一下,知道这很可能是RequireJS的一个错误。跟踪来自RequireJS at https://requirejs.org/docs/node.html的文档。我下载了带有NPM的RequireJS,因为我已经通过NPM安装了传单的依赖项。我现在没有在HTML中引用我的app.js,而是拥有以下内容:
<head>
<script>
var requirejs = require('requirejs');
requirejs.config({ nodeRequire: require });
requirejs(['leaflet', 'scripts/app.js']);
</script>
</head>但是现在我得到了
要求未定义为
发布于 2020-03-09 13:36:29
浏览器中没有函数require。在浏览器中显式地包含了RequireJS:
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
<script>
require(['leaflet', 'scripts/app.js']);
</script>这将加载RequireJS,但可能会中断,因为leaflet的路径可能是错误的。但我想你可以解决这个问题:)
https://stackoverflow.com/questions/60582479
复制相似问题