如何为Rspack Dev Server配置Unix套接字?
在Rspack Dev Server中配置Unix套接字
配置文件方式(rspack.config.js)
Rspack Dev Server支持通过devServer.socket字段指定Unix套接字路径,替代默认的TCP端口配置。示例如下:
const fs = require('fs'); module.exports = { // 其他Rspack核心配置(entry、output等) devServer: { // 设置Unix套接字的绝对路径 socket: '/tmp/rspack-dev-server.sock', // 可选:启动前清理已存在的旧套接字文件,避免启动失败 setupMiddlewares: (middlewares) => { const socketPath = '/tmp/rspack-dev-server.sock'; if (fs.existsSync(socketPath)) { fs.unlinkSync(socketPath); } return middlewares; } } };
编程式API方式
如果你需要通过代码手动启动Dev Server,同样可以在RspackDevServer的配置中传入socket字段:
const { RspackDevServer } = require('@rspack/dev-server'); const rspack = require('rspack'); const fs = require('fs'); // 定义Rspack编译配置 const rspackConfig = { entry: './src/index.js', output: { filename: 'bundle.js' // 其他output配置 } // 其他核心配置 }; const socketPath = '/tmp/rspack-dev-server.sock'; // 提前清理旧套接字 if (fs.existsSync(socketPath)) { fs.unlinkSync(socketPath); } // 创建编译器和Dev Server实例 const compiler = rspack(rspackConfig); const devServer = new RspackDevServer( { socket: socketPath, // 其他Dev Server配置(比如static、hot等) }, compiler ); // 启动Dev Server devServer.start().then(() => { console.log(`Dev Server已启动,Unix套接字路径:${socketPath}`); });
注意事项
- 确保套接字路径所在目录有读写权限,否则会启动失败。
- 代理服务(如Nginx)转发请求时,直接使用
unix:/tmp/rspack-dev-server.sock;格式指向该套接字即可。
内容的提问来源于stack exchange,提问作者Harshal Patil
相关产品推荐
相关产品推荐

