[英]Importing self-made library into vue project
Intro: I've generated two projects with vue-cli ~4.2.0: parent-app
and dummylib
介绍:我用 vue-cli ~4.2.0 生成了两个项目:
parent-app
和dummylib
Goal: to create DummyButton.vue
component in dummylib
project and import it in parent-app
project.目标:在
dummylib
项目中创建DummyButton.vue
组件并将其导入到parent-app
项目中。
What I've done:我所做的:
Followed this tutorial .遵循本教程。
In dummylib's package.json I've inserted:在 dummylib 的package.json 中,我插入了:
"main": "./dist/dummylib.common.js",
and build-lib script:和构建库脚本:
"build-lib": "vue-cli-service build --target lib --name dummylib src/main.js",
dummylib's main.js: dummylib 的 main.js:
import DummyButton from './components/DummyButton.vue'
export default DummyButton
Also I've created DummyButton.vue
and now vue serve src/components/DummyButton.vue
successfully renders DummyButton component and npm run build-lib
generates dist folder with dummylib.common.js
此外,我创建了
DummyButton.vue
,现在vue serve src/components/DummyButton.vue
成功呈现 DummyButton 组件,并且npm run build-lib
生成带有dummylib.common.js
dist文件夹
In parent-app
project I've made npm i ../dummylib
and it has been added to package.json
:在
parent-app
项目中,我创建了npm i ../dummylib
并将其添加到package.json
:
"dependencies": {
...
"dummylib": "file:../dummylib",
...
},
Problem:问题:
When I try to start parent-app
with npm run serve
a lot of linting errors occurs in ../dummylib/dist/dummylib.common.js
.当我尝试使用
npm run serve
启动parent-app
时,在../dummylib/dist/dummylib.common.js
发生了很多../dummylib/dist/dummylib.common.js
错误。 As far as i understand, ESlint should not even try to process dummylib.common.js
, but it does and it results in ~2000 errors.据我了解,ESlint 甚至不应该尝试处理
dummylib.common.js
,但它确实会导致 ~2000 错误。
I tried the same tutorial a while ago.不久前我尝试了相同的教程。 To fix it: in the main.js of the library I had to do has to do this:
要修复它:在库的 main.js 中,我必须这样做:
const Components = {
DummyButton
};
Object.keys(Components).forEach(name => {
Vue.component(name, Components[name]);
});
export default Components;
instead of代替
export default DummyButton
Also did you remember to import the lib into your parents apps main.js你还记得把 lib 导入你父母的应用程序 main.js
import DummyLib from "DummyLib";
Vue.use(DummyLib);
You can also import straight into a component like so:您也可以像这样直接导入到组件中:
import DummyLib from "DummyLib";
export default {
components: {
...DummyLib
},
//... rest of vue file script ...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.