首页 > 解决方案 > 如何让 vue-router 在浏览器中使用 esm

问题描述

我试图让 vue-router 在浏览器中与 esm 一起工作,但是当我导入 vue-router.esm.js 文件时,我得到了

vue:573 [Vue warn]: Error in beforeCreate hook: "ReferenceError: process is not defined"

(found in <Root>)
warn @ vue:573
logError @ vue:1727
globalHandleError @ vue:1722
handleError @ vue:1711
callHook @ vue:2896
Vue._init @ vue:4528
Vue$3 @ vue:4627
(anonymous) @ main.js:24

vue:1731 ReferenceError: process is not defined
    at VueRouter.init (vue-router.esm.js:2394)
    at Vue$3.beforeCreate (vue-router.esm.js:527)
    at callHook (vue:2894)
    at Vue$3.Vue._init (vue:4528)
    at new Vue$3 (vue:4627)
    at main.js:24

我怎样才能让它工作

标签: vue.jsvuejs2vue-router

解决方案


我删除了所有需要的条件,process.env并且不再收到错误消息。但是,这是一个超级 hacky 的解决方案,因为我必须维护本地副本并手动处理更新。我尝试研究 Vue 在核心项目中是如何做到这一点的,但还没有得到回应。

在 vue 代码库的什么位置创建 vue.esm.browser.js 文件?


推荐阅读