首页 > 解决方案 > NPM : 创建一个 NPM 包,将文件和文件夹添加到项目根目录

问题描述

我创建了一个经常用于许多不同项目的 Web 应用程序模板。

我想为它创建一个 NPM 包,以便更容易为新项目安装,将模板与项目文件分开,将模板依赖项与项目依赖项分开,并允许在所有项目中更轻松地更新模板。

我遇到的问题是我需要在根目录(即package.json保存位置)中安装一些文件/文件夹。大多数可以放在node_modules文件夹中,但是我有一些文件必须放在根目录中。

例如,模板使用带有自定义_app.js文件的 Next.js。这必须位于名为pages. 我还有必须在根目录中的各种配置文件。

这可以通过 NPM 完成,还是需要将所有内容都安装在node_modules文件夹中?我在 SO 或 Google 上找不到任何可以回答这个问题的内容,因此,如果您碰巧知道有关如何执行此操作的在线指南或可以概述我应该搜索的内容,将不胜感激。

标签: npm

解决方案


使用纯 npm,所有内容必须转到node_modules文件夹,因此您无法通过这种方式解决您的问题。

也许使用grunt inityeoman之类的模板工具可能是一个解决方案,但不幸的是,您将失去通过 npm 安装包的一些好处。

另一种选择可能是使用最近刚刚引入的GitHub 模板存储库。

最后但并非最不重要的一个选项也可能是将文件的内容仅包含在 npm 包中,但pages/_app.js手动创建,但在其中仅require包含来自 npm 模块的文件内容,仅此而已。这至少有助于使内容可移植,但当然它仍然要求您自行设置文件和文件夹结构。

抱歉,我没有更好的答案,但无论如何我希望它有所帮助。

PS:一个“解决方案”也可能是使用postinstallnpm 模块package.json文件中的步骤来创建文件夹结构,将文件复制到它们应该在的位置等等,但至少对我来说,这更像是一种笨拙的解决方法,而不是真正的解决方案。


推荐阅读