javascript - 将自制库导入vue项目
问题描述
简介:我用 vue-cli ~4.2.0 生成了两个项目:parent-app
和dummylib
目标:在项目中创建DummyButton.vue
组件dummylib
并将其导入parent-app
项目中。
我做了什么:
遵循本教程。
在 dummylib 的package.json中,我插入了:
"main": "./dist/dummylib.common.js",
和 build-lib 脚本:
"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 serve src/components/DummyButton.vue
成功呈现 DummyButton 组件并npm run build-lib
生成dist文件夹dummylib.common.js
在parent-app
我制作的项目中npm i ../dummylib
,它已添加到package.json
:
"dependencies": {
...
"dummylib": "file:../dummylib",
...
},
问题:
当我尝试从parent-app
. 据我了解,ESlint 甚至不应该尝试处理,但它确实会导致约 2000 个错误。npm run serve
../dummylib/dist/dummylib.common.js
dummylib.common.js
解决方案
不久前我尝试了相同的教程。要修复它:在库的 main.js 中,我必须这样做:
const Components = {
DummyButton
};
Object.keys(Components).forEach(name => {
Vue.component(name, Components[name]);
});
export default Components;
代替
export default DummyButton
您还记得将 lib 导入您的父母应用程序 main.js
import DummyLib from "DummyLib";
Vue.use(DummyLib);
您也可以像这样直接导入组件:
import DummyLib from "DummyLib";
export default {
components: {
...DummyLib
},
//... rest of vue file script ...
}
推荐阅读
- mql5 - MQL5 测试时不截屏
- asp.net - 无法加载文件或程序集“log4net”或其依赖项之一,即使在删除 log4net 之后也是如此
- ruby - 我可以使用 Selenium 和 Nokogiri 根据附近的标签定位元素吗?
- android - Android: App Crashes on LaunchActivity {java.lang.SecurityException}
- typescript - Typescript 定义子类映射并在运行时创建子类
- excel - Excel VBA 代码不支持使用自定义名称将 PPT 保存在自定义位置
- java - 在itext7中,如何按添加时间更改附件显示顺序
- python - python matplotlib - How to plot 3+1 dimension data?
- sql - shortssize = S 中查询表达式中的字符串语法错误
- php - 在 Laravel 中配置 Redis 时遇到的问题