Vue服务端渲染,在路由加载方式处出错

按照Vue官方SSR文档进行Vue服务端渲染,在修改路由加载方式时出错。

// 这里进行修改……
import Foo from './Foo.vue'    // 非按需加载写法
// 改为这样:
const Foo = () => import('./Foo.vue')    // 按需加载写法

当不使用按需加载时,没有问题。
但是使用按需加载时,报了以下错误。

[vue-router] Failed to resolve async component default: Error: Cannot find modul
e 'js\9.js' from 'F:\Josh\git\ssr\dist'
[vue-router] uncaught error during route navigation:
{ Error: Cannot find module 'js\9.js' from 'F:\Josh\git\ssr\dist'
    at Function.module.exports [as sync] (F:\Josh\git\ssr\node_modules\resolve\l
ib\sync.js:40:15)
    at r (F:\Josh\git\ssr\node_modules\vue-server-renderer\build.js:7741:44)
    at Function.requireEnsure [as e] (js/main.js:41:25)
    at blank (js/main.js:394:29)
    at F:\Josh\git\ssr\node_modules\vue-router\dist\vue-router.common.js:1711:17

    at F:\Josh\git\ssr\node_modules\vue-router\dist\vue-router.common.js:1738:66

    at Array.map (native)
    at F:\Josh\git\ssr\node_modules\vue-router\dist\vue-router.common.js:1738:38

    at Array.map (native)
    at flatMapComponents (F:\Josh\git\ssr\node_modules\vue-router\dist\vue-route
r.common.js:1737:26) code: 'MODULE_NOT_FOUND' }

回答:

是webpack配置输出文件时,filename为’js[name].js’导致的,修改成'[name].js’后问题解决

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注