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

太原做网站的通讯公司投资建设个什么网站好

太原做网站的通讯公司,投资建设个什么网站好,长沙关键词优化服务,网站建设 cnpackage.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.yingshimen.cn/news/67596/

相关文章:

  • 网站开发哪个更专业html网页设计代码范文制作旅游景点
  • 家具网站建设规划书主机wordpress
  • 网站运营与维护深圳品牌策划vi设计
  • 自己注册公司网站宁波关键词优化平台
  • 外贸上哪个网站开发客户贵阳网站设计找哪家
  • 新泰网站建设流程建设营销型网站流程
  • 可以先做网站后备案么网站平台被骗了怎么办
  • 怎么建网站教程石家庄网络公司哪家好
  • 广州企业网站建设公司最新版高性能网站建设指南
  • 怎么形容网站做的好html5网站开发书籍
  • 网站开发补充协议 违约陈家镇建设发展公司网站
  • 杏坛网站制作wordpress 微站
  • 做家宴网站品牌推广的步骤和技巧
  • 珠海中小企业网站建设ppt免费下载的网站
  • wordpress小说网站模板下载地址在Vs中做网站接口
  • 网站建设教程试题element-ui网站开发
  • 做网站的公司违约怎么处理中卫网络电视台直播
  • 互联网站宁波seo推广怎么做
  • 成都哪家网站建设强传媒公司取名 创意
  • 手机建站网站做电信网站运营
  • 英语可以做推广的亲子类网站个人网站做淘宝客容易封吗
  • 旅游网站建设模板连云港中信建设证券网站
  • 衡南网站建设cms网站后台管理系统
  • 网站开发团队需要哪些人杭州网站建设那家好
  • 在百度做网站赚钱吗云南省城乡建设培训中心网站
  • 生成手机网站公司网站怎么建设
  • 广州自助网站制作网站开发之美
  • 视频网站怎样做点手机域名注册局官网
  • 美丽定制 网站模板怎样做知道网站
  • 黑龙江省建设厅的网站首页网站改版如何做301