有没有办法在导入 VueJS 组件时使用 RequireJS?

Is there a way to use RequireJS when importing VueJS components?

我有一个使用 RequireJS 和 Vue 组件的项目。我正在尝试将 Vue 组件模块化为更小的部分,并且我希望能够导出更小的 Vue 组件,以便它们可以被更大的组件使用。使用标准 vue 很简单:

import SomeComponent from './SomeComponent.vue'

new Vue({
     el: '#app',
     ...
     components: { SomeComponent },
     ...
}

但是如何使用 requireJS 来完成呢?

我不太确定你在问什么,但如果你只是想模块化,你可以通过导入来做到这一点。方法是将组件导入组件。

如果您有一个正在导入到您的应用程序的分页组件,您可以将一个较小的组件(子组件)导入到分页组件中。您可以通过这种方式尽可能小,并拥有子组件。将组件导入组件的语法与将组件导入新的vue页面的语法相同。

除非我遗漏了什么,否则没有理由尝试使用 require。 Vue 已经为您提供了导入组件所需的一切。这是在 Vue 中模块化和保持代码干燥的正确方法。

您可以使用 require 导入您的 *.vue 组件,如下所示:

new Vue({
  el: '#app',
  ...
  components: {
    'some-component': require('../path/to/components/SomeComponent.vue').default,
    ...
  },
  ...
});

您的 *.vue 文件的结构应如下所示:

<template>

  <!-- Component HTML  -->

</template>

<script>
  export default {
    name: 'some-component',
    ...
  }
</script>

<style>

  /* Component Styles */

</style>

作为替代方案,您可以使用 require 全局注册您的组件 (see api docs):

Vue.component('some-component', require('../path/to/components/SomeComponent.vue').default);

new Vue({
  el: '#app',
  ... // no need to declare `SomeComponent` here
});

如果您有多个组件都将使用 SomeComponent

,这是一个不错的选择