• vue 基于vue-cli3 发布npm 插件


    第一步 创建vue项目

    vue create plugin-dev

    新建 packages文件夹

    创建插件包

    sjf-plugin\packages\checkList\

            checkList.vue  checkList.vue是组件代码

            index.js 插件的单独引入

    1. // 引入组件
    2. import checkList from './checkList.vue'
    3. // 为组件提供 install 安装方法,供按需引入
    4. checkList.install = (Vue) => {
    5. Vue.component(checkList.name, checkList)
    6. }
    7. // 导出组件
    8. export default checkList

    sjf-plugin\packages\index.js 总的外层js的单独编写

    1. import checkList from './checkList/checkList.vue'
    2. // 存储组件列表
    3. const components = [
    4. checkList
    5. ]
    6. /*
    7. 定义install 方法,接收Vue作为参数,如果使用use注册插件,则所有的组件都将被注册
    8. */
    9. const install = function (Vue) {
    10. // 判断是否安装
    11. if (install.installed) { return }
    12. // 遍历所有组件
    13. components.map(item => {
    14. Vue.component(item.name, item)
    15. })
    16. }
    17. // 判断是否引入文件
    18. if (typeof window !== 'undefined' && window.Vue) {
    19. install(window.Vue)
    20. }
    21. export default {
    22. install,
    23. checkList
    24. }

    运行命令

        "build-lib": "vue-cli-service build --target lib --name sjf --dest lib packages/index.js"

           --target <类型> --name <文件名> --dest <文件夹名> <生成文件的路径>

    packages.json 配置文件

    1. {
    2. "name": "songjiafeng",//项目名称
    3. "version": "0.1.2",//版本号更新时要修改
    4. "private": false,//是否是私有 发布时要改成false
    5. "main":"lib/sjf.umd.min.js",//入口文件,该字段需指向我们最终编译后的包文件。
    6. "keywords":[//npm 搜索的关键字
    7. "vue",
    8. "check"
    9. ],
    10. "scripts": {
    11. "serve": "vue-cli-service serve",
    12. "build": "vue-cli-service build",
    13. "build-lib": "vue-cli-service build --target lib --name sjf --dest lib packages/index.js"
    14. },
    15. "dependencies": {
    16. "core-js": "^3.8.3",
    17. "vue": "^3.2.13",
    18. "vue-router": "^4.0.3",
    19. "vuex": "^4.0.0"
    20. },
    21. "devDependencies": {
    22. "@vue/cli-plugin-babel": "~5.0.0",
    23. "@vue/cli-plugin-router": "~5.0.0",
    24. "@vue/cli-plugin-vuex": "~5.0.0",
    25. "@vue/cli-service": "~5.0.0",
    26. "sass": "^1.32.7",
    27. "sass-loader": "^12.0.0"
    28. },
    29. "browserslist": [
    30. "> 1%",
    31. "last 2 versions",
    32. "not dead",
    33. "not ie 11"
    34. ]
    35. }

    发布时的问题

    1,npm login 

    输入        没有账户的话去 npm官网注册 

    用户名

    密码

    邮箱

    如果登录失败可能是协议错了 记得改成 https

    2,npm publish 发布

  • 相关阅读:
    极客日报:宿华不再担任快手CEO,程一笑接任;微软市值重登全球第一;Bootstrap 4.6.1发布
    Milk Scheduling S——拓扑排序
    [MAUI]深入了解.NET MAUI Blazor与Vue的混合开发
    elementPlus的table设置序号
    拨号上网和宽带上网的区别分析
    [错题]电路维修
    Educational Codeforces Round 135 (A-D题)
    JVM 运行时数据区和垃圾收集算法
    网络相关的基础知识整理
    【操作系统】内存管理(三)—— 内存的分配与回收(1)
  • 原文地址:https://blog.csdn.net/qq_42389674/article/details/125462536