npm 私服搭建及小程序包的发布

本文详细介绍了如何使用小程序命令行工具初始化项目,创建并发布小程序包至npm私服,以及如何在其他项目中使用这些包。涵盖了初始化、构建、发布和使用的全过程。

npm 私服搭建及小程序包的发布

npm 私服的搭建

参考文档

npm私服搭建文档

根据参考文档来就行,但是参考文档中关于小程序包的发布没有明确的说明,网上资料也比较匮乏,我主要记录的是小程序如何发布到私服中,至于如何搭建请参考文档中关于私服搭建的说明。

小程序包发布到私服

一、前言

由于工作的需要,需要吧一些常用的公共组件发布到私服中,方便后续项目的一个使用。但是网上的教程目前还不全,或者说还不够完善,没有详细的讲解到如何创建一个npm包到npm包的一个发布,这就是我写这篇文章的目的。

二、前期准备工作

小程序命令行工具

  1. 安装

    npm install -g @wechat-miniprogram/miniprogram-cli
    

    TIPS

    需要全局安装,在以后的工作中都需要使用到

  2. 初始化

    miniprogram init [options] [dirPath]
    
    option描述
    -t, --type项目的初始化所使用的模板
    -f, --force强制初始化项目,可能会覆盖掉目录中已存在的项目
    -p, --proxy下载/更新模板时的请求代理
    -n, --newest使用线上最新的模板进行项目的初始化
  3. 升级

    miniprogram upgrade [options] [dirPath]
    

    根据最新模板对已有项目进行升级。目前仅支持自定义组件项目。

    option描述
    -f, --force强制升级项目,会覆盖掉原有项目中的构建相关文件
    -p, --proxy下载/更新模板时的请求代理
  4. 缓存

    miniprogram cache [options]
    
    option描述
    -c, --clear清空缓存的模板
三、具体步骤

这里主要是我在使用过程中的一些步骤。可能存在不合理的地方,或者说有些地方的使用可能不对

  1. 初始化项目

    1.1 打开小程序开发工具初始化一个项目【demo-1】

    1.2 打开Mac终端、进入刚才创建的项目根目录

    1.3 利用小程序命令行工具初始化项目

    miniprogram init -f
    

    说明:

    这里需要说明一下我为什么使用 -f

    因为我使用 -t 就没成功过,不知道是不是在使用-t的时候缺少了哪一个步骤还是什么,目前还在研究中

    在执行完这个操作后会有一个提示,利用键盘上下键选择初始化类型

    ? which type of project want to use to initialize (Use arrow keys)
    ❯ custom-component 
      miniprogram 
      plugin 
      game 
    

    这里选择第一个,然后回车,会要求你输入包名,如果默认,直接回车

    ? please input the package name (demo-1) 
    

    回车后需要填写包版本号,默认1.0.0

    ? please input the package version (1.0.0) 0.0.1
    

    这一步需要输入小程序dist目录名称,直接回车,使用默认名称

    ? please input the miniprogram dist folder (miniprogram_dist) 
    

    其他的全部默认就行,执行到这里,我们的一个npm初始化包就完成了。当然执行到这里,并非可以直接运行了,我们需要执行一下install操作

    npm install
    

    执行完成后,我们来看一下这个项目的一些目录结构

    |--miniprogram_dev // 开发环境构建目录
    |--miniprogram_dist // 生产环境构建目录
    |--src // 源码
    |   |--components // 通用自定义组件
    |   |--images // 图片资源
    |   |
    |   |--xxx.js/xxx.wxml/xxx.json/xxx.wxss // 暴露的 js 模块/自定义组件入口文件
    |
    |--test // 测试用例
    |--tools // 构建相关代码
    |   |--demo // demo 小程序目录,开发环境下会被拷贝生成到 miniprogram_dev 目录中
    |   |--config.js // 构建相关配置文件
    |
    |--gulpfile.js
    

    还有些没有用到的目录和文件,在这里并没有列出来。

    这里我需要讲的就是一个src文件夹和config.js文件

    • src文件夹:src文件夹是我们需要上传到npm私服中的文件,也就是我们其他项目需要使用的npm包,不建议将我们的组件放在比较深的一个文件目录中。
    • config.js:这个主要是在编译的时候需要修改的一个地方。比如说esline。这个对我来说是一个比较恶心的地方。不是很喜欢用,在编译的时候很容易报错

    到这一步我们的初始化也就算是完成了。

  2. 开始项目

    1. 删除src中的所有文件

    2. 在src文件中新建一个demo组件

    3. 修改tools/config.js中 entry: [‘index’] 为 entry: [‘demo’],目的是编译的时候小程序命令行找到文件。注释掉’eslint-loader’,(可以不注释)

    4. 执行命令 npm run build

      npm run build
      

      看到如下所示,就表示build成功

      Hash: 11c711f3d73e5df3c912
      Version: webpack 4.41.4
      Time: 607ms
      Built at: 2019-12-23 9:49:32 AM
      

      这个时候就可以在项目中看到一个miniprogram_dist文件夹,这个文件夹中的文件就是我们其他项目中使用到的包

    5. 上传npm私服(这一步需要账号密码,具体方式请参照文章开头的私服搭建参考文档中的说明)

      npm publish --registry=http://your_nexus_service/repository/rupiahone-hosted/
      

      your_nexus_service:你的nexus服务器地址

    6. npm 私服包的使用

      npm私服包的使用和npm其他外网包的使用是一致的,具体请参考小程序中如何使用npm

      需要说明的一点。在使用私服npm包的时候需要带–registry=http://your_nexus_service/repository/rupiahone-hosted/参数例如:

      npm install demo-1 --registry=http://your_nexus_service/repository/rupiahone-hosted/
      

总结

写这篇文章的目的是为了帮助自己记忆,与此同时也希望能帮助到和我有同样需求的朋友,至于文中有什么错误的地方欢迎指正。

功能介绍: 0.私服系统,自动当**新开私服,省去您的时间 无限时间。 1.当**固顶私服到时间自动提升,自动排序,采用轮换功能,每个私服都可能排在第一位 2.后台批量固顶、审核、删除,等信息灵活管理 3.任意在线发布各类私服、家族信息,管理员后台审核显示 4.首页定时自动刷新,后台设置时间,通宵推荐,精品推荐功能 5.私服可按照天数,到时间自动消失 6.强大的HTM自动生成功能,优化技术,使浏览速度更快 7.强大的广告管理功能,分二种样式显示,支持天数,到期广告自动关闭 8.管理员分权限管理,普通管理和超级管理,累了可以找个管理 9.游戏类型自由设置,如,传世等 10.友情连接分首页连接与分页连接,添加时自由控制,连接申请,后台审核 11.广告页面设置,后台自由设置,支持HTM 12.导航管理功能,分顶部导航和底部,自由添加编辑 13.强大的文章,下载模块,后台管理操作,添加,HTM在线编辑,删除 14.多种模板互换功能,绿和红 蓝,共三种! 15.文章无限分类功能! 16.私服搜索查找功能! 17.各种私服单页面功能,无限分类,每种私服一个页面! 18.家族采用排名式,点击最高的会排在首位,引导人气 19.优化所有代码!使其运行更快! 20.更多功能请在使用过程中体验.. 21.全后台设置管理,安全,稳定,方便 22.整合本站美工模板系列,站点更加绚丽夺目 私服详细说明: 1、私服分固顶,通宵,精品,以及私服分类支持! 2、固顶私服支持今天,明天,后天,大后天,昨天,前天,大前天显示! 3、当天私服固顶后自动套黄,套黄轮换显示! 4、通宵推荐私服在网站配置中自由设置时间段! 5、精品私服,固顶私服,通宵私服支持天数显示,1-7天! 6、私服分类支持各种私服类型,具体操作,基本设置→游戏类型上有说明! 7、在更多私服管理只有通过审核未固顶,未通宵,未精品的私服! 后台默认管理地址:**/admin/admin_index.asp 管理帐号:admin 密码:admin 数据库已做过安全处理,请放心使用! 如果修改数据库名,请用记事本打开inc/config.asp 手工把数据库名替换成您更换的数据库名字
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值