以前详细聊过的前端项目的组件化,能够参考 组件化 与 私有 npm 仓库,今天来更进一步的说说前端项目的组件化。前端
目录结构:linux
-project1 # 项目1 -project2 # 项目2 -component1 # 组件1 -component2 # 组件2
project1
的 package.json
:git
{ "dependencies": { "@yourCompany/component1": "^0.0.1", "@yourCompany/component2": "^0.0.1" } }
在代码中使用:github
import component1 from '@yourCompany/component1';
针对上面讲到的问题,另外一种方式能够很好的解决:npm
目录结构:json
-project1 # 项目1 -project2 # 项目2 -components # 组件集合项目
components
组件集合项目的目录结构:segmentfault
- src/ # 源代码目录 - component1 # 组件1 - component2 # 组件2 - component3 # 组件3 - ... - package.json - README.md - CHANGELOG.md - .eslintrc.js - .stylelintrc.js - .prettierrc.js - ...
把 components
目录软连接 project1
目录下:windows
(注意: project1
的 .gitignore
需加上 /components
)组件化
# 如下是 linux 命令,windows 相似 cd project1 ln -s ../components ./
project1
项目的目录结构:eslint
- src/ # 源代码目录 - components/ # 组件项目目录(软连接) - package.json - README.md - CHANGELOG.md - .eslintrc.js - .stylelintrc.js - .prettierrc.js - ...
在代码中使用:
import component1 from 'relative/path/to/components/src/component1';
上面的两种方式各有各的优点,能够配合一块儿使用。
大的、不常更新的组件能够使用 npm 包的方式,小的、常更新的能够使用软连接项目的方式。
更多博客,查看 https://github.com/senntyou/blogs
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)