本节内容派生于以下链接指向的内容 ,并遵守 CC BY 4.0 许可证的规定。
以下内容如果没有特殊声明,可以认为都是基于原内容的修改和删减后的结果。
虽然 Rspack 支持多种模块语法,但我们建议遵循单一的语法,以保持一致性并避免 bug。
Rspack 原生支持 ES6 模块语法,可以使用静态的 import
、export
和 import()
语法。
通过在 import 中添加注释,我们可以进行诸如给 chunk 命名或选择不同模式的操作。
webpackChunkName
: 新 chunk 的名称。
webpackPrefetch
: 告诉浏览器将来可能需要该资源来进行某些导航跳转(0.4.5 及以上版本支持)。
webpackPreload
: 告诉浏览器在当前导航期间可能需要该资源(0.4.5 及以上版本支持)。
Rspack 也支持 CommonJS
语法,可以使用 require
和 module.exports
语法。
Rspack 支持使用 import
和 require
语法导入 DataURI 模块。
import
require
除此之外,还支持了 Base64 编码:
DataURI 模块可以被用作虚拟模块(Virtual Modules)的实现方式,如:配合 Loader 完成运行时动态加载自定义模块。
除了上述的模块语法之外,Rspack 还支持一些 Webpack 特有的方法。
添加 directory
、includeSubdirs
,可以对引入的模块进行更精细控制。如果 mode
被设置为 lazy
,模块将会被异步加载。
是否启用了热模块替换,暴露此对象并且导出一些方法,详情见 HMR API 页面。
module.hot
的别名,但是 import.meta.webpackHot
可以在严格的 ESM 中使用,而 module.hot 不能。
配置选项 node.__dirname
。
false
: 未定义mock
: 等于 '/'
true
: node.js __dirname如果在一个被 Parser 解析的表达式内部使用,则配置选项会被当作 true 处理。
当前模块的资源查询(resource query)。如果进行了如下的 require 调用,那么查询字符串(query string)在 file.js 中可访问。
访问所有模块的内部对象。
这个变量提供对编译过程中(compilation)的 hash 信息的访问。
等于配置选项的 output.publicPath。
访问当前 chunk 的名称。
访问当前入口的 runtime id。