$ cnpm install @uyun/monitor-app
共同点
方案1. 基于旧版本项目里面去做重构。
方案2. 重新创建一个项目用于重构,和开发新模块, 然后把重构的模块导入npm仓库中, 旧项目导入npm仓库中模块
npm install @uyun/unpm -g --registry=http://rnpm.uyundev.cn
$ npm i everest -g
名字必须要@uyun/xxx格式
$ everest init
@uyun/test
├── README.md
├── node_modules
├── package.json
├── .gitignore
├── public
│ ├── frontend
│ ├── mock
| ├── static
│ └── index.html
└── src
└── app[应用模块]
│ ├── common[公共组件模块]
│ │ ├── a-component
│ │ ├── b-component
│ │ └── index.js
│ ├── home[业务模块-1]
│ │ ├── component
│ │ ├── store
│ │ ├── i18n
│ | ├── style
│ │ └── index.js
│ ├── footer[业务模块-2]
| |
│ └── index.js[入口]
└── index.js
$ everest start
$ everest compile
@uyun/test
├── dist
│ └── app.min.css
│ └── app.min.js
└── lib
│ ├── common[公共组件模块]
│ │ ├── a-component
│ │ ├── b-component
│ │ └── index.js
│ ├── home[业务模块-1]
│ │ ├── component
│ │ ├── store
│ │ ├── i18n
│ │ ├── style
│ │ └── index.js
│ ├── footer[业务模块-2]
│ |
│ └── index.js[入口]
└── package.json
└── README.md
// 默认打包的模块依赖是读取package.json中 { dependencies: {} }
// 可以自定义模块依赖, 需要代码webpack配置覆盖文件
// 查看 打包依赖文件,@uyun/xxx/dist/app.min.js
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("react"), require("immutable"));
else if(typeof define === 'function' && define.amd)
define("libs", ["react", "immutable"], factory);
else if(typeof exports === 'object')
exports["libs"] = factory(require("react"), require("immutable"));
else
root["libs"] = factory(root["react"], root["immutable"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_7__, __WEBPACK_EXTERNAL_MODULE_23__,) ...
// 打包成功, 可以把文件拖到本地开发环境下node_modules下面测试一下,
import { XXX } from "@uyun/XXX-app"
ReactDOM.render(
<div>
<HashRouter>
<Layout>
<Switch>
<Redirect exact from='/' to='/index' />
<Route exact path='/index' component={XXX} />
</Switch>
</Layout>
</HashRouter>
</div>,
document.getElementById('layout-content')
)
$ cd @uyun/XXX
$ npm publish
$ npm i @uyun/XXX
// 打包成功, 可以把文件拖到本地开发环境下node_modules下面测试一下,
import { XXX } from "@uyun/XXX-app"
ReactDOM.render(
<div>
<HashRouter>
<Layout>
<Switch>
<Redirect exact from='/' to='/index' />
<Route exact path='/index' component={XXX} />
</Switch>
</Layout>
</HashRouter>
</div>,
document.getElementById('layout-content')
)
Copyright 2013 - present © cnpmjs.org