PageSourceSearch

https://rspack.rs/static/js/async/route-d5fb2e9386e7.27b19b1084.js

js rspack.rs collected 2026-09-24 17:14:32 UTC 14,761 bytes, 1 lines download raw bytes

1"use strict";(self.rspackChunkrspack_website=self.rspackChunkrspack_website||[]).push([["4y"],{VNO(s,n,e){e.r(n);var r=e("i"),i=e("f");function l(s){let n={a:"a",code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",span:"span",strong:"strong",ul:"ul",...(0,i.R)(),...s.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.h1,{id:"plugins",children:[(0,r.jsx)(n.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#plugins",children:"#"}),"Plugins"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.strong,{children:"类型:"})}),"\n"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(n.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"ts",children:(0,r.jsxs)(n.code,{children:[(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:" Falsy"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:" false"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:" |"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:" ''"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:" |"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:" 0"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:" |"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:" null"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:" |"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:" undefined"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsx)(n.span,{className:"line"}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:" Plugin"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="})]}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"  |"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:" RspackPluginInstance"})]}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"  |"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:" RspackPluginFunction"})]}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"  |"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:" WebpackPluginInstance"})]}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"  |"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:" WebpackPluginFunction"})]}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"  |"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:" Falsy"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsx)(n.span,{className:"line"}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"type"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:" Plugins"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:" Plugin"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:"[];"})]})]})})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"默认值:"})," ",(0,r.jsx)(n.code,{children:"[]"})]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"plugins"}
1)," 选项用于注册一组 Rspack 或 webpack 插件来自定义构建过程。"]}),"\n",(0,r.jsxs)(n.p,{children:["请查看 ",(0,r.jsx)(n.a,{href:"/zh/guide/features/plugin.html",children:"插件页面"})," 来了解在 Rspack 中使用插件的更多信息。"]}),"\n",(0,r.jsxs)(n.h2,{id:"内置插件",children:[(0,r.jsx)(n.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#内置插件",children:"#"}),"内置插件"]}),"\n",(0,r.jsxs)(n.p,{children:["Rspack 附带了许多内置插件,你可以通过 ",(0,r.jsx)(n.code,{children:"rspack.PluginName"})," 访问这些插件。"]}),"\n",(0,r.jsxs)(n.p,{children:["例如,",(0,r.jsx)(n.a,{href:"/zh/plugins/define-plugin.html",children:(0,r.jsx)(n.code,{children:"DefinePlugin"})})," 允许你在编译时将代码中的变量替换为其他值或表达式。你可以通过 ",(0,r.jsx)(n.code,{children:"rspack.DefinePlugin"})," 来访问它,并使用 ",(0,r.jsx)(n.code,{children:"new"})," 来创建插件实例:"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(n.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",title:"rspack.config.mjs",lang:"js",children:(0,r.jsxs)(n.code,{children:[(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:" { rspack } "}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:" '@rspack/core'"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsx)(n.span,{className:"line"}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:" default"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:" {"})]}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:"  plugins"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:" ["})]}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"    new"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:" rspack"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:".DefinePlugin"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:"({"})]}),"\n",(0,r.jsx)(n.span,{className:"line",children:(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-comment)"},children:"      // 传入插件选项"})}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:"    })"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:"  ]"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(n.span,{className:"line",children:(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:"};"})})]})})}),"\n",(0,r.jsxs)(n.h2,{id:"webpack-插件",children:[(0,r.jsx)(n.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#webpack-插件",children:"#"}),"webpack 插件"]}),"\n",(0,r.jsxs)(n.p,{children:["Rspack 致力于兼容 webpack 生态中的插件,让用户能够使用社区中经过验证的优秀功能。你可以查看",(0,r.jsx)(n.a,{href:"/zh/plugins/community-plugin-compatibility.html",children:"社区插件兼容性"}),"来获取已通过兼容性测试的 webpack 插件清单:"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(n.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",title:"rspack.config.mjs",lang:"js",children:(0,r.jsxs)(n.code,{children:[(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:" { rspack } "}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:" '@rspack/core'"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:" HtmlWebpackPlugin "}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'html-webpack-plugin'"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsx)(n.span,{className:"line"}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:" default"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:" {"})]}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:"  plugins"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:" ["}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:" HtmlWebpackPlugin"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"}
1,children:"()]"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(n.span,{className:"line",children:(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:"};"})})]})})}),"\n",(0,r.jsxs)(n.h2,{id:"禁用插件",children:[(0,r.jsx)(n.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#禁用插件",children:"#"}),"禁用插件"]}),"\n",(0,r.jsxs)(n.p,{children:["Rspack 会忽略 ",(0,r.jsx)(n.code,{children:"plugins"})," 数组中的 ",(0,r.jsx)(n.code,{children:"false"}),"、",(0,r.jsx)(n.code,{children:"''"}),"、",(0,r.jsx)(n.code,{children:"0"}),"、",(0,r.jsx)(n.code,{children:"null"})," 和 ",(0,r.jsx)(n.code,{children:"undefined"})," 这些值,这允许你更容易地禁用某个插件。"]}),"\n",(0,r.jsxs)(n.p,{children:["比如,仅在开发环境中启用 ",(0,r.jsx)(n.a,{href:"/zh/plugins/hot-module-replacement-plugin.html",children:"HotModuleReplacementPlugin"}),":"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(n.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",title:"rspack.config.mjs",lang:"js",children:(0,r.jsxs)(n.code,{children:[(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:" { rspack } "}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:" '@rspack/core'"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsx)(n.span,{className:"line"}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:" isDev"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:" process"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:"."}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:"env"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:"."}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:"NODE_ENV"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:" ==="}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-string-expression)"},children:" 'development'"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsx)(n.span,{className:"line"}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:" default"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:" {"})]}),"\n",(0,r.jsxs)(n.span,{className:"line",children:[(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:"  plugins"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:" [isDev "}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:"&&"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-keyword)"},children:" new"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-constant)"},children:" rspack"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-function)"},children:".HotModuleReplacementPlugin"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:"()]"}),(0,r.jsx)(n.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(n.span,{className:"line",children:(0,r.jsx)(n.span,{style:{color:"var(--shiki-foreground)"},children:"};"})})]})})})]})}function o(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}={...(0,i.R)(),...s.components};return n?(0,r.jsx)(n,{...s,children:(0,r.jsx)(l,{...s})}):l(s)}o.__RSPRESS_PAGE_META={},o.__RSPRESS_PAGE_META["zh%2Fconfig%2Fplugins.mdx"]={toc:[{id:"内置插件",text:"内置插件",depth:2},{id:"webpack-插件",text:"webpack 插件",depth:2},{id:"禁用插件",text:"禁用插件",depth:2}],title:"Plugins",headingTitle:"Plugins",frontmatter:{description:"例如,DefinePlugin 允许你在编译时将代码中的变量替换为其他值或表达式。你可以通过 rspack.DefinePlugin 来访问它,并使用 new 来创建插件实例:"}},e.d(n,{default:()=>o})}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.