import { Component, Vue } from "vue-property-decorator" 对比 import Vue from "vue"

import { Component, Vue } from "vue-property-decorator" vs. import Vue from "vue"

vue-property-decoratorvue 导入 Vue 有什么区别和用例?我的理解是,在使用 @Component 装饰器定义自定义组件时,我总是需要从 vue-property-decorator 导入 Vue,但是是否有任何 unexpected/different things/scenarios 与Vue 这样做时我应该注意哪些核心?

假设您有一个名为 'some-module' 的非常简单的模块,其中包含:

var foo = 'bar';
export default foo;
export function helloWorld () { ... };

当你这样做时:

import something from 'some-module';

您只导入了 'some-module' 的默认导出。在本例中,它是字符串 foo。默认导出可以是任何东西,对象,函数等

当你这样做时:

import {helloWorld} from 'some-module';

您专门导入了一个名为 'helloWorld' 的 'some-module' 成员,而不是默认导出。在本例中,它是函数 'helloWorld'.

如果你这样做了:

import {something} from 'some-module';

'something' 将是 'undefined',因为没有使用该名称的导出。

你可以阅读更多here

我会说根据 vue-property-decoratorsources 没有区别。

vue-property-decorator 仅执行以下操作:

import Vue, { PropOptions, WatchOptions } from 'vue'
// ...
export { Component, Vue, mixins as Mixins }

可能这样做是为了减少代码中的导入次数:

import {Vue, Smth1, Smth2}` from 'vue-property-decorator';

import Vue from 'vue';
import {Smth1, Smth2} from 'vue-property-decorator';