Javascript 将自制库导入vue项目
简介:我使用vue cli~4.2.0生成了两个项目:Javascript 将自制库导入vue项目,javascript,vue.js,vuejs2,eslint,vue-cli,Javascript,Vue.js,Vuejs2,Eslint,Vue Cli,简介:我使用vue cli~4.2.0生成了两个项目:父应用程序和dummylib 目标:在dummylib项目中创建DummyButton.vue组件,并将其导入父应用程序项目中 我所做的: 然后呢 在dummylib的package.json中,我插入了: "main": "./dist/dummylib.common.js", 和构建库脚本: "build-lib": "vue-cli-service build --target lib --name dummylib src/main
父应用程序
和dummylib
目标:在dummylib
项目中创建DummyButton.vue
组件,并将其导入父应用程序项目中
我所做的:
然后呢
在dummylib的package.json中,我插入了:
"main": "./dist/dummylib.common.js",
和构建库脚本:
"build-lib": "vue-cli-service build --target lib --name dummylib src/main.js",
dummylib的main.js:
import DummyButton from './components/DummyButton.vue'
export default DummyButton
此外,我还创建了DummyButton.vue
,现在vue为src/components/DummyButton.vue
成功呈现了DummyButton组件,并npm运行构建库
使用dummylib.common.js
在parent app
项目中,我制作了npm I../dummylib
并将其添加到package.json
:
"dependencies": {
...
"dummylib": "file:../dummylib",
...
},
问题:
当我尝试用npm run service
启动parent app
时,。/dummylib/dist/dummylib.common.js
中出现了很多linting错误。据我所知,ESlint甚至不应该尝试处理dummylib.common.js
,但它确实处理了,并且会导致大约2000个错误。我刚才尝试了相同的教程。要修复它:在库的main.js中,我必须这样做:
const Components = {
DummyButton
};
Object.keys(Components).forEach(name => {
Vue.component(name, Components[name]);
});
export default Components;
而不是
export default DummyButton
你还记得把lib导入你父母的apps main.js吗
import DummyLib from "DummyLib";
Vue.use(DummyLib);
也可以直接导入组件,如下所示:
import DummyLib from "DummyLib";
export default {
components: {
...DummyLib
},
//... rest of vue file script ...
}
感谢您的回复!我忘了在父应用程序main.js
中添加Vue.use(dummylib)
。不过,对于库的main.js
和Object.keys().forEach()
中的解决方案,您还不能确定。。。它有什么利润?如果我只是导入和导出组件,那么一切都可以正常工作,并且我得到了更小的dummylib.common.js
。Object.keys().forEach()
,因为我们有大量组件要导出,这对我们来说是最简单的方法