npm - NPM : 创建一个 NPM 包,将文件和文件夹添加到项目根目录
问题描述
我创建了一个经常用于许多不同项目的 Web 应用程序模板。
我想为它创建一个 NPM 包,以便更容易为新项目安装,将模板与项目文件分开,将模板依赖项与项目依赖项分开,并允许在所有项目中更轻松地更新模板。
我遇到的问题是我需要在根目录(即package.json
保存位置)中安装一些文件/文件夹。大多数可以放在node_modules
文件夹中,但是我有一些文件必须放在根目录中。
例如,模板使用带有自定义_app.js
文件的 Next.js。这必须位于名为pages
. 我还有必须在根目录中的各种配置文件。
这可以通过 NPM 完成,还是需要将所有内容都安装在node_modules
文件夹中?我在 SO 或 Google 上找不到任何可以回答这个问题的内容,因此,如果您碰巧知道有关如何执行此操作的在线指南或可以概述我应该搜索的内容,将不胜感激。
解决方案
使用纯 npm,所有内容都必须转到node_modules
文件夹,因此您无法通过这种方式解决您的问题。
也许使用grunt init或yeoman之类的模板工具可能是一个解决方案,但不幸的是,您将失去通过 npm 安装包的一些好处。
另一种选择可能是使用最近刚刚引入的GitHub 模板存储库。
最后但并非最不重要的一个选项也可能是将文件的内容仅包含在 npm 包中,但pages/_app.js
手动创建,但在其中仅require
包含来自 npm 模块的文件内容,仅此而已。这至少有助于使内容可移植,但当然它仍然要求您自行设置文件和文件夹结构。
抱歉,我没有更好的答案,但无论如何我希望它有所帮助。
PS:一个“解决方案”也可能是使用postinstall
npm 模块package.json
文件中的步骤来创建文件夹结构,将文件复制到它们应该在的位置等等,但至少对我来说,这更像是一种笨拙的解决方法,而不是真正的解决方案。
推荐阅读
- sql-server - SQL Server FTS 如何查找词屈折变化
- spring-boot - 在一个 Spring Boot App 中为不同的 WebAPI 配置路径前缀
- spring-boot - 使用 Spring Data 运行 Spring Native Application 需要大约 2-3 秒的启动时间
- sql - 用于检索具有相同 ID 和类型但仅相隔 3 分钟的记录的 SQL 查询
- asp.net-mvc - Web.config 转换不改变
- python - DBScan 区别 Matlab 和 Python
- pine-script - 我们在哪里可以获得交易量视图的内置脚本
- android - 使用 Braintree Drop-inAndroid sdk 向 Paypal 结帐流程添加额外信息
- python - 构建pybind11 proj时如何定义include & lib路径
- hadoop - Cloudera Hadoop Impala - 提取上次刷新日期