Vue CLI 生成带有错误的空正文:找不到元素:迁移 vuecli 2>3 后的#app
Posted
技术标签:
【中文标题】Vue CLI 生成带有错误的空正文:找不到元素:迁移 vuecli 2>3 后的#app【英文标题】:Vue CLI generates empty body with error: Cannot find element: #app after migration vuecli 2>3 【发布时间】:2018-08-26 14:38:02 【问题描述】:我正在尝试将我的 VueJS 项目从 VueCLI 2 迁移到 3。
所有文件都复制到 src 文件夹中。
当我尝试使用 npm run serve 在浏览器中查看它时,我得到的 html 没有 <div id="app">
存在:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Webpack App</title>
<link rel="preload" as="script" href="/app.js">
<link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="apple-mobile-web-app-title" content="iris-vue2"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000">
</head>
<body>
<script type="text/javascript" src="/app.js"></script>
</body>
</html>
控制台给出这个错误:
vue.runtime.esm.js?ff9b:587 [Vue warn]: Cannot find element: #app
HTML 从哪里得到渲染?在之前版本的 VueCLI 中有一个 index.html 文件。现在不见了?
在我的 main.js 中,我在初始化新项目时执行与样板中的内容相同的操作:
new Vue(
i18n,
router,
store,
render: h => h(App)
).$mount('#app')
【问题讨论】:
【参考方案1】:我认为您需要在 DOM 中创建一个位置以进行渲染。在这种情况下,应用程序正在寻找 id 为“app”的元素。
<body>
<div id="app"></div>
<script type="text/javascript" src="/app.js"></script>
</body>
【讨论】:
是的,我知道。除了我把这个放在哪里?在 VueCli 3 中不再有 index.html 文件,就像在 VueCli 2 中一样,例如这个:github.com/TomFranssen/iris-vue/blob/master/index.html【参考方案2】:我想通了!新的 index.html 不再位于根目录中。在 VueCli 3 中,它位于 /public
文件夹中!
所以我不得不将 /index.html 移动到 /public/index.html。
【讨论】:
以上是关于Vue CLI 生成带有错误的空正文:找不到元素:迁移 vuecli 2>3 后的#app的主要内容,如果未能解决你的问题,请参考以下文章
通过 Vue CLI 添加 Vuetify 会导致“找不到模块”错误
Vue Cli:npm install 后找不到模块“../package.json”错误
如何修复“找不到模块 vue-cli-service.js”?
vue-cli搭建的项目打包之后报“资源路径错误&资源文件找不到“
vue-cli v3 与 node.js firebase 函数,firebase 托管(错误:在函数源目录中找不到 npm 包)