🚨 Active Supply Chain Attack:node-ipc Package Compromised.Learn More
Socket
Book a DemoSign in
Socket

mwt-package

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mwt-package

mwt-package-base

latest
npmnpm
Version
1.0.3
Version published
Weekly downloads
4
33.33%
Maintainers
1
Weekly downloads
 
Created
Source

概述

此工程最主要作用是用于提取前端公用的代码。包含: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工程之内。

Keywords

no

FAQs

Package last updated on 11 Oct 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts