当前位置: 首页 > news >正文

游戏平台网站做公司网站的专业公司深圳

游戏平台网站,做公司网站的专业公司深圳,建站公司常见提成比例,大专生学广告设计后悔了package.json配置 描述配置文件配置脚本配置依赖配置发布配置系统配置第三方配置 描述配置 name : 项目名称#xff0c;第三方包可以通过npm install 包名安装 name:reactversion : 项目版本#xff0c;项目版本号 version : 18.2… package.json配置 描述配置文件配置脚本配置依赖配置发布配置系统配置第三方配置 描述配置 name : 项目名称第三方包可以通过npm install 包名安装 name:reactversion : 项目版本项目版本号 version : 18.2.0repository : 仓库地址及版本控制信息 repository: {type: git,url: https://github.com/facebook/react.git,directory: packages/react }decription : 项目描述,会展示在 npm 官网让别人能快速了解该项目 description: React is a JavaScript library for building user interfaces.keyword : 技术关键词,好的关键词可以帮助别人在 npm 官网上更好地检索到此项目增加曝光率 keywords: [ant,component,components,design,framework,frontend,react,react-component,ui ],homepage : 项目主页的链接通常是项目 github 链接项目官网或文档首页 homepage: https://reactjs.org/bugs : 项目 bug 反馈地址通常是 github issue 页面的链接 bugs: https://github.com/vuejs/core/issues license : 项目的开源许可证 license: MITauthor : 项目作者 author: Li jiaxuncontributors : 该项目包的贡献者 contributors: [CUGGZ0 xxxxxxx.com (https://juejin.cn/user/3544481220801815),CUGGZ1 xxxxxxx.com (https://juejin.cn/user/3544481220801815) ]contributors: [{name : CUGGZ0,email : xxxxxxx.com,url : https://juejin.cn/user/3544481220801815},{name : CUGGZ1,email : xxxxxxx.com,url : https://juejin.cn/user/3544481220801815} ]文件配置 files : 项目在进行 npm 发布时可以通过 files 指定需要跟随一起发布的内容来控制 npm 包的大小避免安装时间太长发布时默认会包括 package.jsonlicenseREADME 和main 字段里指定的文件。忽略 node_moduleslockfile 等文件在此基础上我们可以指定更多需要一起发布的内容。可以是单独的文件整个文件夹或者使用通配符匹配到的文件 files: [filename.js,directory/,glob/*.{js,json} ]type : 在 node 支持 ES 模块后要求 ES 模块采用 .mjs 后缀文件名。只要遇到 .mjs 文件就认为它是 ES 模块。如果不想修改文件后缀就可以在 package.json文件中指定 type 字段为 module type: modulemain : 项目发布时默认会包括 package.jsonlicenseREADME 和main 字段里指定的文件因为 main 字段里指定的是项目的入口文件在 browser 和 Node 环境中都可以使用如果不设置 main 字段那么入口文件就是根目录下的 index.js main: ./index.jsbrowser : main 字段里指定的入口文件在 browser 和 Node 环境中都可以使用。如果只想在 web 端使用不允许在 server 端使用可以通过 browser 字段指定入口 browser: ./browser/index.jsmodule : 项目也可以指定 ES 模块的入口文件这就是 module 字段的作用 module: ./index.mjs当一个项目同时定义了 mainbrowser 和 module像 webpackrollup 等构建工具会感知这些字段并会根据环境以及不同的模块规范来进行不同的入口文件查找 exports : node 在 14.13 支持在 package.json 里定义 exports 字段拥有了条件导出的功能exports 字段可以配置不同环境对应的模块入口文件并且当它存在时它的优先级最高 exports: {require: ./index.js,import: ./index.mjs这样的配置在使用 import ‘xxx’ 和 require(‘xxx’) 时会从不同的入口引入文件 上面的写法等同于 exports: {.: {require: ./index.js,import: ./index.mjs} }exports 除了支持配置包的默认导出还支持配置包的子路径 exports: {./style: ./dist/css/index.css },//原来的引入 import packageA/dist/css/index.css; // 用户引入时 import packageA/style;除了对导出的文件路径进行封装exports 还限制了使用者不可以访问未在 “exports” 中定义的任何其他路径。比如发布的 dist 文件里有一些内部模块 dist/internal/module 被用户单独引入使用的话可能会导致主模块不可用。为了限制外部的使用我们可以不在 exports 定义这些模块的路径这样外部引入 packageA/dist/internal/module 模块的话就会报错。 workspaces : 项目的工作区配置用于在本地的根目录下管理多个子项目。可以自动地在 npm install 时将 workspaces 下面的包软链到根目录的 node_modules 中不用手动执行 npm link 操作 workspaces: [workspace-a ]表示在 workspace-a 目录下还有一个项目它也有自己的 package.json。 通常子项目都会平铺管理在 packages 目录下所以根目录下 workspaces 通常配置为 workspaces: [packages/* ]脚本配置 script : 指定项目的一些内置脚本命令这些命令可以通过 npm run 来执行。通常包含项目开发构建 等 CI 命令 scripts: {build: webpack }除了指定基础命令还可以配合 pre 和 post 完成命令的前置和后续操作 scripts: {build: webpack,prebuild: xxx, // build 执行之前的钩子postbuild: xxx // build 执行之后的钩子 }执行 npm run build 命令时会按照 prebuild - build - postbuild 的顺序依次执行上方的命令(pnpm和yarn2已经废弃这种操作) config : 设置 scripts 里的脚本在运行时的参数 # 设置端口号 config: {port: 3001 } # 在执行脚本时我们可以通过 npm_package_config_port 这个变量访问到 3001依赖配置 dependencies : 运行依赖也就是项目生产环境下需要用到的依赖 dependencies: {react: ^18.2.0,react-dom: ^18.2.0 }devDependencies : 开发依赖项目开发环境需要用到而运行时不需要的依赖用于辅助开发 devDependencies: {webpack: ^5.69.0 }perDependencies : 同伴依赖一种特殊的依赖不会被自动安装通常用于表示与另一个包的依赖与兼容性关系来警示使用者。 比如我们安装 AA 的正常使用依赖 B2.x 版本那么 B2.x 就应该被列在 A 的 peerDependencies 下表示“如果你使用我那么你也需要安装 B并且至少是 2.x 版本 peerDependencies: {react: 16.9.0,react-dom: 16.9.0 }optionalDependencies : 可选依赖顾名思义表示依赖是可选的它不会阻塞主功能的使用安装或者引入失败也无妨。这类依赖如果安装失败那么 npm 的整个安装过程也是成功的 optionalDependencies: {colors: ^1.4.0 }peerDependenciesMeta : 同伴依赖也可以使用 peerDependenciesMeta 将其指定为可选的 peerDependencies: {colors: ^1.4.0 }, peerDependenciesMeta: {colors: {optional: true} }bundleDependencies : 打包依赖。它的值是一个数组在发布包时bundleDependencies 里面的依赖都会被一起打包 bundleDependencies: [react,react-dom ] # 在执行 npm pack 打包生成 tgz 压缩包中将出现 node_modules 并包含 react 和 react-dom # 需要注意的是这个字段数组中的值必须是在 dependenciesdevDependencies 两个里面声明过的依赖才行overrides : overrides 可以重写项目依赖的依赖及其依赖树下某个依赖的版本号进行包的替换 # 某个依赖 A由于一些原因它依赖的包 foo1.0.0 需要替换我们可以使用 overrides 修改 foo 的版本号 overrides: {foo: 1.1.0-patch } # 当然这样会更改整个依赖树里的 foo我们可以只对 A 下的 foo 进行版本号重写 overrides: {A: {foo: 1.1.0-patch,} }发布配置 private : 如果是私有项目不希望发布到公共 npm 仓库上可以将 private 设为 true private: truepublishConfig : npm 包发布时使用的配置 # 比如在安装依赖时指定了 registry 为 taobao 镜像源但发布时希望在公网发布就可以指定 publishConfig.registry publishConfig: {registry: https://registry.npmjs.org/ }系统配置 engines : 一些项目由于兼容性问题会对 node 或者包管理器有特定的版本号要求 engines: {node: 14 16,pnpm: 7 }os : 在 linux 上能正常运行的项目可能在 windows 上会出现异常使用 os 字段可以指定项目对操作系统的兼容性要求 os: [darwin, linux]cpu : 指定项目只能在特定的 CPU 体系上运行 cpu: [x64, ia32]第三方配置 types/typings : 指定 TypeScript 的类型定义的入口文件 types: ./index.d.ts,unpkg : 让 npm 上所有的文件都开启 CDN 服务 unpkg: dist/vue.global.js # 当我们想通过 CDN 的方式使用链接引入 vue 时。访问 unpkg.com/vue 会重定向到 unpkg.com/vue3.2.37/… 3.2.27 是 Vue 的最新版本。jsdelivr : 与 unpkg 类似 jsdelivr: dist/vue.global.js, # 访问 cdn.jsdelivr.net/npm/vue 实际上获取到的是 jsdelivr 字段里配置的文件地址browserslist : 设置项目的浏览器兼容情况babel 和 autoprefixer 等工具会使用该配置对代码进行转换。当然你也可以使用 .browserslistrc 单文件配置。 browserslist: [ 1%,last 2 versions ]sideEffects : 显示设置某些模块具有副作用用于 webpack 的 tree-shaking 优化 比如在项目中整体引入 Ant Design 组件库的 css 文件。 import antd/dist/antd.css; // or antd/dist/antd.less如果 Ant Design 的 package.json 里不设置 sideEffects那么 webapck 构建打包时会认为这段代码只是引入了但并没有使用可以 tree-shaking 剔除掉最终导致产物缺少样式。 所以 Ant Design 在 package.json 里设置了如下的 sideEffects来告知 webpack这些文件具有副作用引入后不能被删除 sideEffects: [dist/*,es/**/style/*,lib/**/style/*,*.less ]lint-staged : 用于对 git 的暂存区的文件进行操作的工具比如可以在代码提交前执行 lint 校验类型检查图片优化等操作 lint-staged: {src/**/*.{js,jsx,ts,tsx}: [eslint --fix,git add -A] }lint-staged 通常配合 husky 这样的 git-hooks 工具一起使用。git-hooks 用来定义一个钩子这些钩子方法会在 git 工作流程中比如 pre-commitcommit-msg 时触发可以把 lint-staged 放到这些钩子方法中 eslintConfig : eslint的配置可以写在单独的配置文件.eslintrc.json 中也可以写在package.json文件的eslintConfig配置项中 eslintConfig: {root: true,env: {node: true},extends: [plugin:vue/essential,eslint:recommended],rules: {},parserOptions: {parser: babel-eslint}, }babel : babel用来指定Babel的编译配置 babel: {presets: [babel/preset-env],plugins: [...] }gitHooks : gitHooks用来定义一个钩子在提交commit之前执行ESlint检查。在执行lint命令后会自动修复暂存区的文件。修复之后的文件并不会存储在暂存区所以需要用git add命令将修复后的文件重新加入暂存区。在执行pre-commit命令之后如果没有错误就会执行git commit命令 gitHooks: {pre-commit: lint-staged }
http://www.dnsts.com.cn/news/53584.html

相关文章:

  • 网站建设费入何科目江西中慧城乡建设开发公司网站
  • 做建材的网站好名字wordpress页面添加
  • 网站怎样做平面设计图郑中设计事务所
  • 微网站建设正规公司高端个性化网站开发
  • 深圳网站建设叶林高端网站建设南宁
  • 新建茶叶网站文章内容建设wordpress网站很慢
  • 江门网站建设推广西山区城市建设局网站
  • 做一直播网站要多少钱营销网站制作企业
  • 网站注销怎么做消咸鱼网站交易付款怎么做
  • 什么网站发布建设标准公众号如何做微网站
  • 豆芽网站建设 优帮云网站建成后应该如何推广
  • 正规的南昌网站建设网页设计软件介绍
  • 网站底部浮动代码国家工商注册网
  • 南充做网站多少钱简单网站建设规划方案
  • 四川华泰建设集团网站百度收录不了网站吗
  • html5网站链接标签wordpress 点击排行
  • 端子东莞网站建设智能营销客户管理系统
  • 做视频网站推广挣钱吗广东专业网站优化公司
  • 网站设计简单网页百度搜索网站优化
  • 建设信用卡中心网站百度推送 wordpress
  • 做酒的网站托者设计吧官网
  • 永久免费建站空间推广普通话主题班会记录
  • 台州网站专业制作公司流程管理系统
  • 做网站策划遇到的问题软件开放和网站开发
  • 怎么做返利网之类的网站北京网络推广平台
  • cms网站地图模板如何做好网站内更新
  • 手机qq钓鱼网站怎么做临沂网站建设培训
  • 个人网站建设实验心得航佳网站建设
  • c 转网站开发国外的旅游网站做的如何
  • 公明 网站建设做钓鱼网站查处