1.0.3 • Published 6 years ago

mwt-package v1.0.3

Weekly downloads
1
License
MIT
Repository
-
Last release
6 years ago

概述

此工程最主要作用是用于提取前端公用的代码。包含:apis、components、utils、constants等

基本使用

发布

在package.json文件中,修改版本号

{
  "version": "0.0.2",
}

然后使用publish命令,发布到服务器

npm publish --registry=http://192.168.0.202:8081/content/groups/npm/
或者:xsh npm publish

安装:install

在项目的package.json中指定依赖

{
  "mwt-package": "0.0.2",
}

然后使用install命令

npm install --registry=http://192.168.0.202:8081/content/groups/npm/
或者xsh npm install

例子:增加一个API,然后发布并引用

1 增加一个API文件:mwt-package/apis/infra-isa/ManorApi.js 2 发布mwt-package 3 在其他vue文件中引用

引用:import ManorApi from "mwt-package/apis/infra-isa/ManorApi.js";
使用:ManorApi.page( { }, res => {
  ...
});

例子:增加一个component,然后发布并引用

1 增加一个vue文件:mwt-package/components/demo/ad/AdList.vue 2 发布mwt-package 3 在其他vue文件中引用

引用:import AdList from "mwt-package/components/demo/ad/AdList.vue";
使用:
components: {
  AdList
}
<ad-list :list="adList" :line="2"> </ad-list>

相关问题

开发步骤比较繁琐

mwt-package的每一次改动,都需要发布,每次发布都会产生新的版本号,每个引用mwt-package的项目都需要重新安装依赖,如果工程已经启动,还需要重启,才能最终生效

解决方案:

在mwt-package中执行:npm link
在其他项目中执行:npm link mwt-package

注意:要修改项目中的配置:webpack.base.conf

  resolve: {
    symlinks: false,
  }

效果是:mwt-package的每一次改动都会马上生效,不需要发布,不需要重启(非关键性文件) 注意:重新安装依赖后,需要重新link

发布的版本号问题

问题:每次发布都会产生一个新的版本号,其他工程的依赖要对应的修改。 解决:

npm包的版本号,遵循semver 2.0规范:major.minor.patch 其中major为主版本号,只有更新了不向下兼容的API时进行修改主版本号 其中minor为次版本号,当模块增加了向下兼容的功能时进行修改 其中patch为修订版本,当模块进行了向下兼容的bug修改后进行修改

npm version patch:[patch]+1 
npm version minor:[minor]+1,patch归零
npm version major:[major]+1,minor/patch归零

执行npm update时
^1.2.1 代表的更新版本范围为 >=1.2.1 && < 2.0.0
^0.2.1 代表的更新版本范围为 >=0.2.1 && < 0.3.0
^0.0.2 代表的更新版本范围为 0.0.2(相当于锁定为了0.0.2版本)

1 发布mwt-package:

npm version minor
npm publish

2 在其他工程中,更新依赖(仅更新mwt-package):

npm update mwt-package

是否要独立一个工程

mwt-package有很强的版本概念,npm的版本控制也很到位,其他工程可以根据实际情况,自由选择使用哪个版本。 所以mwt-package完全可以独立一个工程去自由迭代。

考虑目前实际情况,mwt-package的定位还不是很清晰,与mwt-fe-aio也会有一定的耦合, 建议还是放置在mwt-fe-aio工程内。平时开发、调试、发布流程都会比较紧凑流畅。

从源码方面考虑,如生产环境对应的到底是哪份源码,直接查看mwt-fe-aio的线上分支,就可以分析对应的源码 如果mwt-package与mwt-fe-aio相互独立,那生产环境对应的mwt-package源码是哪一份,就比较难确定。 实际上,生产环境使用的mwt-package的版本也不好确定,除非mwt-package也有对应的develop、release、master分支

综合考虑,建议将mwt-package放置在mwt-fe-aio工程之内。