安装
npm install@wordpress/scripts--保存-dev
安装程序
{ “脚本”:{ “构建”:“wp-scripts构建”, “检查引擎”:“wp-scripts检查引擎”, “checklicenses”:“wp-scripts checklicences”, “format”:“wp-scripts格式”, “lint:css”:“wp-scripts lint-style”, “lint:js”:“wp-scripts lint-js”, “lint:md:docs”:“wp-scripts lint-md-docs”, “lint:pkg-json”:“wp-scripts lint-pkg-json”, “包更新”:“wp-scripts包更新”, “plugin-zip”:“wp-scripts plugin-zip”, “开始”:“wp脚本开始”, “测试:e2e”:“wp-scripts测试-e2e”, “test:unit”:“wp-scripts test-unit-js” } }
自动block.json检测和源代码目录
更新到新版本
可用脚本
建造
{ “editorScript”:“file:index.js”, “script”:“file:script.js”, “viewScript”:“file:view.js” }
{ “脚本”:{ “构建”:“wp-scripts构建”, “build:custom”:“wp-scripts build-entry-one.js entry-two.js--output-path=自定义”, “build:copy php”:“wp脚本构建--webpack复制php”, “build:custom-directory”:“wp-scripts build--webpack-src-dir=custom-derectory” } }
npm运行生成 –为生产构建代码。 npm运行版本:自定义 –使用两个入口点和一个自定义输出目录构建生产代码。 自定义入口点的路径相对于项目根目录。 npm运行版本:copy-php –构建用于生产和操作的代码,以从 型钢混凝土 目录及其子文件夹到输出目录。 默认情况下,只有PHP文件列在 提供 检测到的字段 块.json 文件被复制。 npm运行构建:自定义目录 –使用 自定义目录 作为源代码目录。
--webpack-bundle-分析器 –通过交互式可缩放树映射,可以可视化webpack输出文件的大小。 --webpack-copy-php –允许从源目录复制所有PHP文件(默认为 型钢混凝土 )及其子文件夹到输出目录。 --网络包-非外部 –禁用脚本的资产生成,并忽略默认外部列表。 --webpack-src-dir –允许自定义源代码目录。 默认值为 型钢混凝土 . --输出通路 –允许自定义输出目录。 默认值为 建造 .
高级信息
检查发动机
{ “脚本”:{ “检查引擎”:“wp-scripts检查引擎” } }
npm运行检查引擎 –检查安装的版本 节点 和 净现值 .
高级信息
检查许可证
{ “脚本”:{ “checklicenses”:“wp-scripts checklicences--prod--gpl2--ignore=abab” } }
--触头 (或 --生产 ):存在时,仅验证 依赖关系 而不是 devDependencies(开发依赖项) --开发 (或 --发展 ):存在时,仅验证 devDependencies(开发依赖项) 而不是 依赖关系 --gpl2 :根据验证 GPLv2许可证兼容性 --忽略=a、b、c :要在验证时忽略的一组以逗号分隔的包名称。 这主要用于依赖关系 许可证 字段格式不正确。 假设任何 忽略 包参数将由项目所有者手动检查兼容性。
格式
{ “脚本”:{ “format”:“wp脚本格式”, “format:src”:“wp-scripts format./src” } }
npm运行格式 –格式化整个项目目录中的文件。 npm运行格式:src –格式化项目中的文件 型钢混凝土 子文件夹的目录。
皮棉-js
{ “脚本”:{ “lint:js”:“wp-scripts lint-js”, “lint:js:src”:“wp-scripts lint-js./src” } }
npm运行lint:js –在整个项目的目录中插入JavaScript和TypeScript文件。 npm运行lint:js:src –在项目的 型钢混凝土 子文件夹的目录。
高级信息
皮棉-pkg-json
{ “脚本”:{ “lint:pkg-json”:“wp-scripts lint-pkg-json”, “lint:pkg-json:src”:“wp-scripts lint-pkg-json。/src” } }
npm运行lint:pkg-json –棉绒 package.json包 文件。 npm运行lint:pkg-json:src –过梁 package.json包 项目中的文件 型钢混凝土 子文件夹的目录。
高级信息
lint-md-docs文件
{ “脚本”:{ “lint:md:docs”:“wp-scripts lint-md-docs” } }
npm运行lint:md:docs –整个项目目录中的lints标记文件。
高级信息
短绒风格
{ “脚本”:{ “lint:style”:“wp-scripts lint-style”, “lint:css:src”:“wp-scripts lint-style'src/**/*.css'” } }
npm运行线头:样式 –在整个项目的目录中插入CSS、PCSS和SCSS文件。 npm运行lint:css:src –在项目的 型钢混凝土 子文件夹的目录。
高级信息
软件包-更新
{ “脚本”:{ “包更新”:“wp-scripts包更新”, “postpackages-update”:“npm运行构建” } }
--分配标签 –允许在更新npm包时指定自定义dist-tag。 默认为 最新的 。这在使用时特别有用 @wordpress/dependency-extraction-webpack-plugin语言 。它允许在给定WordPress主要版本用于本地测试等的版本上安装npm依赖项。示例: wp-scripts包更新--dist-tag=wp-6.0 .
高级信息
插件-zip
{ “脚本”:{ “plugin-zip”:“wp-scripts plugin-zip” } }
高级信息
{ “文件”:[“目录”] }
开始
{ “editorScript”:“file:index.js”, “script”:“file:script.js”, “viewScript”:“file:view.js” }
{ “脚本”:{ “start”:“wp-scripts start”, “start:hot”:“wp-scripts start--hot”, “start:custom”:“wp-scripts start entry-one.js entry-two.js--output-path=自定义”, “start:copy-php”:“wp-scripts start--webpack-copy-php”, “start:custom-directory”:“wp-scripts start--webpack-src-dir=custom-derectory” } }
npm启动 –开始构建以供开发。 npm运行启动:热 –使用“快速刷新”启动构建以供开发。 如果您对文件进行更改,页面将自动重新加载。 npm运行启动:自定义 –启动用于开发的构建,其中包含两个入口点和一个自定义输出目录。 自定义入口点的路径相对于项目根目录。 npm运行开始:copy-php –启动构建以供开发,并选择从 型钢混凝土 目录及其子文件夹到输出目录。 默认情况下,只有PHP文件列在 提供 检测到的字段 块.json 文件被复制。 npm运行开始:自定义目录 –使用 自定义目录 作为源代码目录。
--热的,热的 –启用“快速刷新”。 如果您更改代码,页面将自动重新加载。 目前,它要求WordPress具有 脚本_取消 标志已启用,并且 古腾堡 插件已安装。 --不看比赛 –在不启动观察程序的情况下启动构建以进行开发。 --webpack束分析器 –通过交互式可缩放树映射,可以可视化webpack输出文件的大小。 --webpack-copy-php –允许从源目录复制所有PHP文件(默认为 型钢混凝土 )及其子文件夹到输出目录。 --webpack-devtool –控制如何生成源映射。 请参阅上的选项 https://webpack.js.org/configuration/devtool/#devtool。 --网络包-非外部 –禁用脚本的资产生成,并忽略默认外部列表。 --webpack-src-dir –允许自定义源代码目录。 默认值为 型钢混凝土 . --输出通路 –允许自定义输出目录。 默认值为 建造 .
高级信息
试验-e2e
杰斯特 是一个令人愉快的JavaScript测试框架,专注于简单性。
木偶演员 是一个节点库,它提供了一个高级API来控制Chrome或Chromium DevTools协议 .木偶赛跑 无头的 默认情况下,但可以配置为运行完整(非headless)Chrome或Chromium。
{ “脚本”:{ “测试:e2e”:“wp-scripts测试-e2e”, “test:e2e:help”:“wp-scripts test-e2e--help”, “test:e2e:debug”:“wp-scripts--inspect-brk test-e2e--puppeter-devtools” } }
npm运行测试:e2e –运行所有e2e测试。 npm运行测试:e2e:help –打印所有可用选项以配置e2e测试运行器。 npm运行测试:e2e---puppeter-interactive –以交互方式运行所有e2e测试。 npm运行测试:e2e FILE_NAME--puppeter-interactive –以交互方式运行一个测试文件。 npm运行测试:e2e:watch--puppeter-interactive –以交互方式运行所有测试并监视更改。 npm运行测试:e2e:调试 –以交互方式运行所有测试并启用 调试测试 .
包含的文件 .js文件 (其他支持的扩展: .jsx公司 , .ts格式 、和 .tsx文件 )任何深度的后缀 规范 文件夹。 包含的文件 .规范.js (其他支持的扩展: .jsx公司 , .ts格式 、和 .tsx文件 )后缀。
您可以添加 jest-puppeteer.config.js 或使用定义自定义路径 JEST_puppeter_CONFIG 环境变量。 检查 戏谑木偶演员 了解更多详细信息。
失败的测试工件
高级信息
该命令接收 --配置 参数。 例子: wp-scripts test-e2e--配置my-jest-config.js . 有一个名为 jest-e2e.config.js , 笑话-e2e.config.json , jest.config.js ,或 杰斯特·config.json 在包的顶级目录中(与 package.json包 ). 一 笑话 对象可以在 package.json包 带有测试配置的文件。
测试单元-js
{ “脚本”:{ “test:unit”:“wp-scripts test-unit-js”, “test:unit:help”:“wp-scripts test-unit-js--help”, “test:unit:watch”:“wp-scripts test-unit-js--watch“, “test:unit:debug”:“wp-scripts--inspect-brk test-unit-js--runInBand--no-cache” } }
npm运行测试:单元 –运行所有单元测试。 npm运行测试:单元:帮助 –打印所有可用选项以配置单元测试运行器。 npm运行测试:单元:监视 –在监视模式下运行所有单元测试。 npm运行测试:单元:调试 –在中运行所有单元测试 调试模式 .
包含的文件 .js文件 (其他支持的扩展: .jsx公司 , .ts格式 、和 .tsx文件 )后缀位于 __测试__ 文件夹。 包含的文件 .js文件 (其他支持的扩展: .jsx公司 , .ts格式 、和 .tsx文件 )后缀直接位于 测试 文件夹。 包含的文件 .test.js(测试.js) (其他支持的扩展: .jsx公司 , .ts格式 、和 .tsx文件 )后缀。
高级信息
该命令接收 --配置 参数。 例子: wp-scripts测试单元--配置my-jest-config.js . 有一个名为 jest-unit.config.js , jest-unit.config.json公司 , jest.config.js ,或 杰斯特·config.json 在包的顶级目录中(与 package.json包 ). 一 笑话 对象可以在 package.json包 带有测试配置的文件。
测试塑性
{ “脚本”:{ “测试:剧作家”:“wp-scripts test-playwright”, “test:playwriter:help”:“wp-scripts test-playwright--help”, “test:playwriter:debug”:“wp-scripts test-playwright--debug“ } }
npm运行测试:剧作家 –运行所有测试。 npm运行测试:剧作家:帮助 –打印所有可用选项以配置测试运行程序。 npm运行测试:编剧:调试 –与剧作家检查员交互运行所有测试。 npm运行测试:剧作家FILE_NAME –运行特定的测试文件。 npm运行测试:剧作家--观看 –使用监视模式和增强的调试以交互方式运行所有测试。
失败的测试工件
高级信息
传递Node.js选项
wp脚本[NODE_OPTIONS]脚本
调试测试
在Google Chrome中调试
在Visual Studio代码中调试
调试e2e测试
. The
高级使用
使用生成脚本
默认webpack配置
条目 :通过扫描中的所有脚本字段来检测项目的入口点 块.json 文件位于 型钢混凝土 目录。 后备入口点为 源代码/索引.js (其他支持的扩展: .jsx公司 , .ts格式 、和 .tsx文件 )如果没有 块.json 找到文件。 输出 : build/[名称].js ,例如: 构建/index.js ,或 构建/my-block/index.js . 装载机 : babel装载机 允许使用Babel和webpack传输JavaScript和TypeScript文件。 @svgr/webpack 和 url加载程序 可以用JavaScript代码处理SVG文件。 css装载机 与…相连 后ss-loader 和 sass-loader装载机 让webpack处理JavaScript文件中引用的CSS、SASS或SCSS文件。
插件 (除其他外): 复制Web包插件 复制所有 块.json 在中发现的文件 型钢混凝土 目录到构建目录。 MiniCssExtract插件 将CSS提取到单独的文件中。 它为每个JavaScript入口点创建一个包含CSS的CSS文件。 @wordpress/dependency-extraction-webpack-plugin语言 与默认配置一起使用,以确保WordPress提供的脚本不包含在构建的捆绑包中。
使用CSS
//索引scss $车身颜色:红色; .wp-块-my-块{ 颜色:$body-color; }
/*样式.css*/ .wp-块-my-块{ 背景色:黑色; }
//索引.js 导入”/ index.pcss’; 导入”/ index.scss’; 导入”/ style.css;
索引.css –所有导入的CSS文件都绑定到一个以入口点命名的块中,默认为 索引.js ,因此创建的文件变为 索引.css 。这仅适用于编辑器中使用的样式。 样式index.css –已导入 样式表 文件(适用于PCSS、SASS和SCSS扩展名)捆绑在一起 样式index.css 用于前端和编辑器的文件。
wp-scripts start entry-one.js entry-two.js--output-path=自定义
使用字体和图像
/*样式.css*/ @字体-表面{ font-family:吉尔伯特; src:url(../assets/gilbert-color.otf); } .wp-块-my-块{ 背景颜色:url(../assets/block-background.png); font-family:吉尔伯特; }
使用SVG
从'导入starUrl,{ReactComponent作为Star}/ star.svg'; 常量应用程序=()=>( <div> <img src={starUrl}alt=“star”/> <明星/> </div> );
提供您自己的webpack配置
该命令接收 --配置 参数。 例子: wp-scripts构建--配置my-own-webpack-config.js . 有一个名为 webpack.config.js 或 webpack.config.babel.js 在项目的顶级目录中(与 package.json包 ).
扩展webpack配置
const toml=要求('toml'); const defaultConfig=require('@wordpress/scripts/config/webpack.config'); 模块导出={ …默认配置, 模块:{ …defaultConfig.module, 规则:[ …defaultConfig.module.rules, { 测试:/.toml/, 类型:'json', 分析器:{ parse:toml.parse, }, }, ], }, };
你应该继续使用 wp-脚本 命令( 开始 和 建造 ). 不要使用 网络包 直接。 此软件包的未来版本可能会更改我们捆绑的webpack和Babel插件、默认配置等。如果需要这些更改,它们将在 程序包的CHANGELOG ,因此请确保在升级之前阅读它。