首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从Vue导入vue

无法从Vue导入vue
EN

Stack Overflow用户
提问于 2020-08-01 17:47:08
回答 2查看 111关注 0票数 0

尝试使用vue.js和vue-router.js演示路由,但获得SyntaxError“不能在模块之外使用导入语句”。我正在尝试从正确的位置导入vue。下面是树的打印输出。我没有正确导入vue吗?谢谢。

树打印输出:

代码语言:javascript
复制
.
├── index.html
├── index.js
├── js
│   ├── vue-router.js
│   └── vue.js
└── src
    ├── App.vue
    ├── AppRouter.vue
    ├── ArticlesPage.vue
    └── HomePage.vue

index.html

代码语言:javascript
复制
<!DOCTYPE html>
<html>
  <head>
    <title>Vue app</title>
  </head>
  <body>

    <div id="app">
    </div>

  </body>
  <script src="js/vue.js"></script>
  <script src="js/vue-router.js"></script>
  <script src="index.js"></script>
</html>

index.js

代码语言:javascript
复制
import Vue from "./js/vue"; // errors here
import App from "./src/App";

const app = new Vue({
  el: "#app",
  render(h) {
    return h(App);
  }
});
EN

回答 2

Stack Overflow用户

发布于 2020-08-01 18:56:53

codesandbox.io PROJECT

代码语言:javascript
复制
.
├── package.json
├── public
│   ├── index.html
│   └── favicon.ico
└── src
    ├── assets
    │   └── logo.png
    ├── components
    │   └── HelloWorld.vue
    ├── router
    │   └── index.js
    ├── views
    │   └── Home.vue
    │   └── About.vue
    ├── App.vue
    └── main.js

Main.js

代码语言:javascript
复制
import Vue from 'vue';
import App from './App.vue';
import router from './router';

Vue.config.productionTip = false;

new Vue({
    router,
    render: h => h(App)
}).$mount('#app');

路由器/index.js

代码语言:javascript
复制
import Vue from 'vue';
import VueRouter from 'vue-router';

Vue.use(VueRouter);

const routes = [
    {
        path: '/',
        name: 'home',
        component: () => import('../views/Home.vue')
    },
    {
        path: '/about',
        name: 'about',
        component: () => import('../views/About.vue')
    }
];

const router = new VueRouter({
    mode: 'history',
    routes
});

export default router;

App.vue

代码语言:javascript
复制
<template>
  <div id="app">
    <router-link :to="{ name: 'home' }">HOME</router-link>
    <router-link :to="{ name: 'about' }">ABOUT</router-link>
    <router-view />
  </div>
</template>

<script>
export default {
  name: "App",
};
</script>

视图/Home.vue

代码语言:javascript
复制
<template>
    <div id="home">
        <img width="25%" src="../assets/logo.png">
        <HelloWorld msg="Hello Vue from Home page!"/>
    </div>
</template>

<script>
import HelloWorld from "../components/HelloWorld";

export default {
    name: "Home",
    components: {
        HelloWorld
    }
};
</script>
票数 1
EN

Stack Overflow用户

发布于 2020-11-23 03:42:19

这是因为你在单机模式下运行。在这种情况下,您需要在脚本标记上添加模块“type=”。

代码语言:javascript
复制
<script src="index.js" type="module"></script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63203845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档