javascript - 如何将 vue 示例导入到独立的 html 文件中?

标签 javascript vue.js

在学习 Vue 的过程中,我尝试根据 Vue 示例之一创建一个带有选项卡的页面 https://vuejsexamples.com/a-slim-tab-component-for-vue-js/ ,但我一定错过了一些明显的东西,因为我在该行遇到语法错误

import * as Tabs from 'vue-slim-tabs';

当我在 Chrome 中打开它时

tabs01.html:27 Uncaught SyntaxError: Unexpected token *

我只是将其视为本地文件 file:///C:/Users/USERX/Documents/git-projects/vue/tabs/tabs01.html 因为我只是想学习基础知识。我怀疑我在这里遗漏了一些非常明显的东西,因为导入行和脚本标记导入都不起作用。

tabs01.html:

<html>

<head>
  <title>Tabbing test 01</title>
</head>

<body>
  <div id="app">
    <template>
      <tabs>
        <tab title="Vue">
          This is Vue
        </tab>
        <tab title="React">
          This is React
        </tab>
        <tab title="Svelte">
          This is Svelte
        </tab>
      </tabs>
    </template>
  </div>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/vue-slim-tabs@0.3.0/dist/vue-slim-tabs.js"></script>

  <script>
    import * as Tabs from 'vue-slim-tabs';
    Vue.use(Tabs);
    const app = new Vue({
            el: '#app',
            data() {
                return {}
            },
          });
</script>

</body>

</html>

最佳答案

您可以使用全局变量vueSlimTabs来引用插件而不是导入。当 vue-slim-tabs.js 源作为非模块脚本加载时,会创建此全局变量。示例:

<html>

<head>
  <title>Tabbing test 01</title>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vue-slim-tabs@0.3.0/themes/default.css">
</head>

<body>
  <div id="app">
    <template>
          <tabs>
            <tab title="Vue">
              This is Vue
            </tab>
            <tab title="React">
              This is React
            </tab>
            <tab title="Svelte">
              This is Svelte
            </tab>
          </tabs>
        </template>
  </div>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/vue-slim-tabs@0.3.0/dist/vue-slim-tabs.js"></script>
  <script>
    Vue.use(vueSlimTabs);
    const app = new Vue({
      el: '#app',
      data() {
        return {}
      },
    });
  </script>

</body>

</html>

如果 vue-slip-tabs 设置为 ES6 模块,您可以使用如下方式导入:

<script type="module">  
import * from 'https://cdn.jsdelivr.net/npm/vue-slim-tabs@0.3.0/dist/vue-slim-tabs.js'  
//...
</script>

但是,它目前仅设置为 UMD 模块。因此,作为 ES6 模块导入需要转译,这是由大多数 vue/webpack cli 设置完成的。在这种情况下,源代码在被浏览器加载之前会被转换。

关于javascript - 如何将 vue 示例导入到独立的 html 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57201238/

相关文章:

javascript - 下拉菜单上的 slideDown

javascript - JSLint 在 while() 语句中使用时提示未使用的变量

带有 CSS 的 Javascript 按钮

javascript - 有没有办法将父 css 泄漏到 Vue 中的子组件?

Javascript "includes"通过破折号分割数组中的项目(VueJS)

javascript - 如何在 Vue Routes 应用程序中动态更改颜色?

javascript - JSTL 和 JavaScript

php - PHP 的 AJAX 分页解决方案

javascript - Vue3 相当于 vNode.compulatedInstance

javascript - 如何在 Vue 中显示模态框?