在未定义的JavaScript对象中导入类时出错

时间:2017-07-24 13:15:22

标签: javascript angularjs leaflet

我正在努力尝试在Javascript中导入一个类(位于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
        }

                }]
});

2 个答案:

答案 0 :(得分:2)

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

与Java不同,您应该定义要导入的内容,在本例中是传单的默认导出。 JavaScript并不神奇地知道你所指的是什么,这只适用于全局变量。

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

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

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

flatMap

答案 1 :(得分:1)

好的,所以这个问题的解决方案恰好是使用require语句通过Javascript导入类,我不得不通过HTML标签<script src="./leaflet-m2t.js"></script>