有没有办法 "npm init" 一个 ES 模块?
Is there a way to "npm init" an ES module?
所有现代版本的 Node 都需要 运行 包,因为模块是 package.json
中的 "type": "module"
,但我没有看到任何 npm init
或 yarn init
将添加 属性.
包管理器 或 是否有一个标志,一种将值添加到 package.json
的简单方法(即 npm package-property set type module
或类似的东西)?
对于 ES 兼容模块,存在 create-esm
包。除其他事项外 (docs),它还填充模块字段。
看来你可以使用 npm init esm
。
这完全符合您的要求:
npm init es6
它使用 "type": "module"
设置创建一个 package.json
。
全局安装create-esnext
:
yarn global add create-esnext
# or
npm i -g create-esnext
在您要 运行 npm init
:
的文件夹中
yarn create esnext
# or
npm init esnext
我个人使用 TSModule 代替 npm init
创建新的 ESM 包,因为它可以处理这个问题,而且我可以使用 TypeScript 编写纯 ESM(并且它标准化了 exports
package.json字段)。
当运行 pnpm init
时可以设置默认值
npm config set init.type module
所有现代版本的 Node 都需要 运行 包,因为模块是 package.json
中的 "type": "module"
,但我没有看到任何 npm init
或 yarn init
将添加 属性.
包管理器 或 是否有一个标志,一种将值添加到 package.json
的简单方法(即 npm package-property set type module
或类似的东西)?
对于 ES 兼容模块,存在 create-esm
包。除其他事项外 (docs),它还填充模块字段。
看来你可以使用 npm init esm
。
这完全符合您的要求:
npm init es6
它使用 "type": "module"
设置创建一个 package.json
。
全局安装create-esnext
:
yarn global add create-esnext
# or
npm i -g create-esnext
在您要 运行 npm init
:
yarn create esnext
# or
npm init esnext
我个人使用 TSModule 代替 npm init
创建新的 ESM 包,因为它可以处理这个问题,而且我可以使用 TypeScript 编写纯 ESM(并且它标准化了 exports
package.json字段)。
当运行 pnpm init
npm config set init.type module