我正在努力尝试使用Java语言(位于leaflet-m2t.js文件中)导入一个类,如果有错误不断抛出,则未定义m2t。该文件被导入就好了,错误不是在文件中,而是在我的代码中。在解决这个问题上,我将不胜感激

require('./leaflet-m2t.js')
$scope.tileProvider = new m2t.tileProvider({
    map: map,
    tileUrl: '/m2t',
    defaultLayer: 'Dark',
    tileLayers: [],
    outlineLayers: ['Light', {
        name: 'Dark',
        style: {
            "color": "#737373",
            "weight": 1,
            "fillOpacity": 1,
            "fillColor": "#0d0d0d",
            'backgroundColor': '#242425',
            'clickable': false
        }

                }]
});

最佳答案

var m2t = require('./leaflet-m2t.js');


与Java不同,您应该定义要导入的内容,在这种情况下,这是默认的传单导出。 JavaScript并不神奇地知道您指的是什么,这仅适用于全局变量。

如果传单使用es6导出,则需要执行以下操作:

var m2t = require('./leaflet-m2t.js').default;


或者,如果您已将您的应用配置为处理es6导入:

import m2t from './leaflet-m2t.js';

08-04 13:04