The content of this section is derived from the content of the following links and is subject to the CC BY 4.0 license.
The following contents can be assumed to be the result of modifications and deletions based on the original contents if not specifically stated.
Rspack can watch files and recompile whenever they change.
booleanfalseTurn on watch mode. This means that after the initial build, Rspack will continue to watch for changes in any of the resolved files.
export default {
// ...
watch: true,
};
watch is enabled by default when using @rspack/dev-server.
objectA set of options used to customize watch mode.
export default {
// ...
watchOptions: {
ignored: /node_modules/,
poll: true,
},
};number5Add a delay before rebuilding once the first file changed. This allows Rspack to aggregate any other changes made during this time period into one rebuild. Pass a value in milliseconds:
export default {
//...
watchOptions: {
aggregateTimeout: 600,
},
};RegExp | string | string[]/[\\/](?:\.git|node_modules)[\\/]/The path that matches is excluded while watching. Watching many files can result in a lot of CPU or memory usage.
Since Rspack v1.2.0, node_modules and .git directories are excluded by default. This means that changes to files in these directories will not trigger a rebuild.
If you want to watch the node_modules directory, you can set it to only exclude the .git directory:
export default {
//...
watchOptions: {
ignored: /\.git/,
},
};ignored can use glob matching:
export default {
//...
watchOptions: {
ignored: '**/.git',
},
};It is also possible to use multiple glob patterns:
export default {
//...
watchOptions: {
ignored: ['**/files/**/*.js', '**/.git', '**/node_modules'],
},
};In addition, you can specify one or more absolute paths:
import path from 'node:path';
export default {
//...
watchOptions: {
ignored: [path.posix.resolve(__dirname, './ignored-dir')],
},
};When using glob patterns, Rspack convert them to regular expressions with glob-to-regexp, so make sure to get yourself familiar with it before you use glob patterns for watchOptions.ignored.
boolean, numberfalseWhether to watch by polling.
When set to true, the default polling interval is 5007 milliseconds.
export default {
//...
watchOptions: {
poll: true,
},
};It can also set a custom polling interval:
export default {
//...
watchOptions: {
poll: 1000, // Check for changes every second
},
};booleanfalseFollow symbolic links while looking for a file. This is usually not needed as Rspack already resolves symlinks with resolve.symlinks.
export default {
//...
watchOptions: {
followSymlinks: true,
},
};booleanStop watching when stdin stream has ended.
export default {
//...
watchOptions: {
stdin: true,
},
};