【问题标题】:Cannot find module 'mapbox-gl/dist/mapbox-gl.js'找不到模块'mapbox-gl/dist/mapbox-gl.js'
【发布时间】:2017-04-23 18:56:23
【问题描述】:

尝试将 mapboxgl 导入我的 TypeScript 文件时出现错误。

我已经像在 README for mapbox-gl-js 中那样做了:

import mapboxgl from 'mapbox-gl/dist/mapbox-gl.js';

然后当我运行 typescript 编译器时:

tsc

我收到此错误:

error TS2307: Cannot find module 'mapbox-gl/dist/mapbox-gl.js'.

但由于某种原因,一切仍然可以编译并且工作正常。所以我很困惑这实际意味着什么?

我在 Github 上为此创建了一个问题:https://github.com/mapbox/mapbox-gl-js/issues/3767

【问题讨论】:

    标签: typescript mapbox-gl-js


    【解决方案1】:

    我可以通过使用这个导入来解决这个问题:

    import * as mapboxgl from 'mapbox-gl';

    但并非所有事情都由此解决。我正在使用 Rollup 进行捆绑,现在这导致了一个错误:

    Illegal reassignment to import 'mapboxgl'
    Error: Illegal reassignment to import 'mapboxgl'
    at error (C:\Users\m.wilson\AppData\Roaming\npm\node_modules\rollup\src\utils\error.js:2:14)
    at disallowIllegalReassignment (C:\Users\m.wilson\AppData\Roaming\npm\node_modules\rollup\src\ast\nodes\shared\disallowIllegalReassignment.js:9:4)
    

    【讨论】:

    【解决方案2】:

    error TS2307: Cannot find module 'mapbox-gl/dist/mapbox-gl.js'

    mapbox-gl/dist/mapbox-gl.js 文件是一个未检入 git 的构建文件。它包含在npm 包中。如果您缺少此文件,您可以通过在mapbox-gl 文件夹中运行npm install && npm run build-min 来生成它。

    【讨论】:

    • 我没有丢失文件,我认为发生此错误的主要原因是 TypeScript 没有检测到它的模块。
    • 如果您在下面看到我的回答,我改为使用 npm 中的主脚本并能够通过 import * as mapboxgl from 'mapbox-gl'; 导入,但这现在导致汇总捆绑程序出错
    【解决方案3】:

    是的,你的权利。 声明(就像大多数外部 js 库一样): 从文件夹的根目录(您可能必须使用 sudo 进行 npm 安装)。

    $ npm install -g typings;
    $ typings install --save --global dt~geojson
    $ typings install --save --global dt~mapbox-gl
    

    PS:我也在努力。我可以服务和构建,但在 android-simulation 上我得到一个黑屏。 你能不能说一下它对你的感觉会很好

    【讨论】:

    • import * as mapboxgl from 'mapbox-gl'; 将停止此错误,我不需要为它安装类型。但缺点是在使用Rollup bundler时,输出这个错误Error: Illegal reassignment to import 'mapboxgl'
    • 或者这个:npm install --save @types/mapbox-gl
    • 因为:npm install --save @types/mapbox-gl
    【解决方案4】:

    这可能违反所有神圣的事情,但我确实通过像这样导入来让事情正常工作......

    const mapboxgl = require('../../../node_modules/mapbox-gl/dist/mapbox-gl.js'); const Map = mapboxgl.Map

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-17
      相关资源
      最近更新 更多