我正在努力尝试使用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';