【问题标题】:How to keep your dev-stack separated from your project?如何使您的开发堆栈与您的项目分开?
【发布时间】:2018-05-12 08:35:46
【问题描述】:
我正在考虑如何让我的 JS 开发堆栈与我的项目分离(可更新)。
情况是这样的:我刚刚创建了我的第一个基于 Webpack 的开发堆栈,我想开始基于这个开发堆栈构建第一个项目。但是,如果将来某个时候我会决定要更改开发堆栈的一些核心功能(例如,我的 Webpack 插件的一些更改)。现在我需要在开发堆栈和基于此开发堆栈的所有项目中进行此更改。
处理这种情况的最佳做法是什么?
【问题讨论】:
标签:
javascript
reactjs
webpack
devstack
【解决方案1】:
听起来你想要一个类似模块系统的东西:在一个地方定义一个包并在多个项目中使用它。鉴于您正在使用 JS,您可以将要隔离的每个部分视为节点模块。通常这意味着将模块发布到 NPM,但您也可以将每个模块放在 github 上并在每个项目的 package.json 中引用 github 位置。这种从集中式存储库中提取的定义项目依赖项的模式非常常见,即使依赖项也是您的项目。
如果您想在本地计算机上同时处理依赖项和使用它们的项目,一个不错的解决方案是npm link。 https://docs.npmjs.com/cli/link 这使您可以将节点项目中的依赖项替换为指向该依赖项的本地副本的符号链接。 npm 将使用您本地版本的模块,而不是尝试从其远程位置拉取它,因此您可以轻松地测试和更改依赖项,而无需发布它或在两个项目之间手动复制和粘贴。