【问题标题】:How to: git repository with default NPM modules and its configs如何:带有默认 NPM 模块及其配置的 git 存储库
【发布时间】:2019-07-31 07:03:54
【问题描述】:

我希望为所有未来的 NPM 项目提供包含默认 NPM 模块及其配置的存储库。 目前配置包括tsconfig.jsontslint.json.prettierrc。 目标是有一种简单的方法来创建具有自定义默认值的新项目,并且还可以从一个地方更改所有这些项目的配置。

我尝试使用 package.json 创建自己的 NPM 模块,其中包含我希望在所有新项目中拥有的依赖项及其根目录中的配置。问题很明显——如果我将这个包安装到新项目中,模块(和配置)的范围是我的自定义模块,而不是我新创建的项目。

有没有人知道如何处理这个问题?

【问题讨论】:

    标签: node.js git npm config code-standards


    【解决方案1】:

    您基本上是在制作样板。开发它,我看到两种可能的方法:

    1. 将样板发布为 NPM 模块。
    2. 在您的存储库提供商(Github、Bitbucket 等)上构建和发布样板,并将其用作您构建的每个新项目的起始项目。

    我建议你采用第二种方法,这样更容易实现。

    您正在尝试遵循第一个更棘手的方法。要生成一个启动项目,您应该构建一个 CLI(命令行界面)。因此,您将构建一个应该全局安装的 NPM 模块,并且您将使用一组命令,例如:

    myawesomecli generate my-new-starting-project
    

    myawesomecli 模块将生成一个包含您的样板文件的 my-new-starting-project 文件夹。您可以选择要求用户在交互式会话中选择设置。这就是 React、Vue.js、Angular 等著名框架正在做的事情。 您可以按照 this 教程构建生成样板的 CLI。请记住,inquier 模块是此类作用域的关键模块。

    【讨论】:

    • 感谢您的解释。我明白为什么第二种方法更容易,但是由于编码标准基础将根据不同用例中使用的框架而变化,创建我们自己的交互式生成器似乎真的很好。不过,我想到了另一个选择;我们在 Docker 中构建我们所有的应用程序——这意味着我们可以创建自己的 Docker 镜像,这些镜像可以用作每个项目的基础。即,我们可以使用 NextJS (+React) 以及特定于此类项目的所有工具和配置来扩展 Node docker 映像。这对您来说是一个不错的选择吗?
    • 不,它没有。我的意思是,使用 Docker 映像,您将在每次使用 docker 时启动并运行。但是,即使你现在经常使用 Docker(你应该使用它,它很棒),你也有可能在未来停止使用它。在我看来,定制的 CLI 可以在部署/托管技术变化时存活下来
    • 这实际上是一个很好的观点。我没有想到。谢谢! :)
    猜你喜欢
    • 2017-11-19
    • 2011-01-06
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 2018-08-28
    • 2019-08-16
    相关资源
    最近更新 更多