找不到Require.js

问题描述 投票:1回答:1

我有一些旧浏览器应用程序,并且需要迁移到TypeScript。因此,我在app.ts中使用了以下内容,并针对AMD的ES6进行了编译(我希望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>

[将其加载到浏览器中时,我得到

未捕获的ReferenceError:未定义定义

所以我四处搜寻,并且知道这很可能是RequireJS的错误。遵循RequireJS的文档,位于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>

但是现在我得到了

未定义要求

javascript npm requirejs
1个回答
0
投票

浏览器中没有功能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的路径可能是错误的。但是我想你可以解决这个问题:)

© www.soinside.com 2019 - 2024. All rights reserved.