Javascript Vue路由器无法延迟加载子组件

Javascript Vue路由器无法延迟加载子组件,javascript,vue.js,webpack,lazy-loading,vue-router,Javascript,Vue.js,Webpack,Lazy Loading,Vue Router,我在我的项目中使用vue路由器,不幸的是,它正在使用一个不再处于活动开发中的库。我需要在那里添加一些东西,所以我下载了源代码,自己编辑,然后将其构建到项目的“externals”文件夹中 现在,在项目没有使用前端路由器之前,一切都很好,但最近,我用延迟加载组件实现了vue路由器,事情变得有点棘手 我刚才提到的库保存在@/externals/date picker中。 在我的延迟加载组件中,我使用es6导入来导入它: import DatePicker from '@/externals/date

我在我的项目中使用vue路由器,不幸的是,它正在使用一个不再处于活动开发中的库。我需要在那里添加一些东西,所以我下载了源代码,自己编辑,然后将其构建到项目的“externals”文件夹中

现在,在项目没有使用前端路由器之前,一切都很好,但最近,我用延迟加载组件实现了vue路由器,事情变得有点棘手

我刚才提到的库保存在
@/externals/date picker
中。 在我的延迟加载组件中,我使用es6导入来导入它:

import DatePicker from '@/externals/date-picker';
这会触发vue路由器内部的错误:

无法解析异步组件默认值:TypeError:无法设置未定义的属性“vue日期选择器”

我不知道发生了什么,但它似乎无法将日期选择器添加到
模块.exports

我很确定必须有加载外部文件的方法,即使它们是惰性加载的。所以,我的问题是,如何将外部文件/包添加到延迟加载的组件中?先谢谢你

代码

// router.js
import Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);

export default new Router({
    mode: 'history',
    base: process.env.BASE_URL,
    routes: [
        {
            path: '/something',
            name: 'something',
            title: 'something',
            component: () => import(/* webpackChunkName: "something" */ './views/Component.vue')
        }
    ]
});

// Component.vue
<script>
    import DatePickerOriginal from "@/external/date-picker";

    export default {
        components: {
            DatePickerOriginal
        }
    };
</script>
//router.js
从“Vue”导入Vue;
从“vue路由器”导入路由器;
Vue.use(路由器);
导出默认新路由器({
模式:“历史”,
base:process.env.base\u URL,
路线:[
{
路径:'/something',
名字:“某物”,
标题:“某物”,
组件:()=>导入(/*webpackChunkName:“something”*/'./views/component.vue')
}
]
});
//组件.vue
从“@/external/date picker”导入DatePickerOriginal;
导出默认值{
组成部分:{
原始日期选择器
}
};

@/external/date picker
的源代码几乎与相同(好吧,构建工具是相同的,应用程序本身很可能不会导致问题)。另外,最好再次指出,应用程序与其他包不在
节点模块
文件夹中,而是从
@/externals/date picker
加载的

在生成过程中合并包时,我的网页包配置中似乎缺少了
libraryTarget:“窗口”

merge(commonConfig, {
    entry: path.resolve(__dirname + '/src/plugin.js'),
    output: {
        // ...
        libraryTarget: 'window'
    }
})

我不知道你在问什么。不过,延迟加载是关于网页包的,您可以通过以下方式完成:
()=>从某处导入一些内容
您可以添加一些代码吗?如果您有一个库,它可以从节点模块导入,例如moment.js:
从“矩”导入矩
@roliroli当然,谢谢您的关注。问题已更新。我想所有相关的代码都在那里。在我看来,包没有正确构建,但我不确定我能做些什么来修复这个问题。我正在构建它,除了
output.path
之外,没有做任何更改。可以找到Configurationn。那么DatePickerOriginal是一个组件?你能从中拿出一些代码吗?