繁体   English   中英

无法从 vue 导入 vue

[英]Unable to import Vue from vue

尝试使用 vue.js 和 vue-router.js 演示路由,但得到 SyntaxError "Cannot use import statement outside a module"。 我正在尝试从正确的位置导入 vue。 下面是树打印出来的。 我没有正确导入 vue。 谢谢你。

树打印出来:

.
├── index.html
├── index.js
├── js
│   ├── vue-router.js
│   └── vue.js
└── src
    ├── App.vue
    ├── AppRouter.vue
    ├── ArticlesPage.vue
    └── HomePage.vue

索引.html

<!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

import Vue from "./js/vue"; // errors here
import App from "./src/App";

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

codeandbox.io 项目


.
├── 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

主.js

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

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;

应用程序.vue

<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

<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>

这是因为您以独立方式运行。 在这种情况下,您需要在脚本标签上添加 type="module"。

<script src="index.js" type="module"></script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM