Node.js package.json

Tags
nodejs
Created
Nov 27, 2015 11:58 AM

exports 字段可以按条件导出,—conditions 可以指定条件 // 这可以用来引用 .ts 文件

import “#xxx”,相当于 ts 的别名导入? https://nodejs.org/api/packages.html#subpath-imports

overrides How do I override nested NPM dependency versions?

https://docs.npmjs.com/files/package.json

esm 导出: https://nodejs.org/api/esm.html#esm_package_entry_points

纯 esm 包: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c

例如一个使用ES6写法的包的配置:

{

"name": "es6-component",

// workspaces

"version": "1.0.0",

"description": "My awesome ES6 component",

"main": "es5/component.js", // bin, broswer, module(webpack, rollup 支持)

"type": "module",  // 指定为原生 esm 模块

"scripts": {

"build": "gulp build",

"prepare": "npm run build"

}

}

  • 向你的 package.json 文件添加构建指令;
  • 在预发布阶段运行构建指令;
  • 使用编译后代码作为主文件;

npm link 命令会自动添加目录到 PATH 环境变量: node_module/.bin

环境变量 npm_package_name,npm_package_version,npm_package_config_port

指定 directories.bin 添加多个命令 // bin 可以是对象,指定多个命令

files 指定包含的文件,默认 [*](一层目录) // 可以直接用 name/dir/file 的方式作为依赖导入

// 使用 !排除

// 不能像 git 一样包含软连接

.npmignore 黑名单模式

npx npm-packlist 检查发布文件

browser:构建工具可以根据编译目标读取,可以使用浏览器端模块的映射

// webpack 自定义模块解析:https://webpack.js.org/configuration/resolve/#resolveloader

SuperMade with Super