A webpack plugin to make symbolic links in output dir.
npm i -D symlink-webpack-plugin
In your webpack config:
const SymlinkWebpackPlugin = require('symlink-webpack-plugin');
module.exports = {
// ...etc
plugins: [
new SymlinkWebpackPlugin({ origin: 'index.html', symlink: '200.html' })
]
};
This setting makes symbolic link file [ouput_path]/200.html
to [ouput_path]/index.html
.
const SymlinkWebpackPlugin = require('symlink-webpack-plugin');
module.exports = {
// ...etc
plugins: [
new SymlinkWebpackPlugin([
{ origin: 'index.html', symlink: '200.html' },
{ origin: 'index.html', symlink: 'error_pages/404.html' },
])
]
};
const SymlinkWebpackPlugin = require('symlink-webpack-plugin');
module.exports = {
// ...etc
plugins: [
new SymlinkWebpackPlugin([
{ origin: 'index.html', symlink: '200.html', force: true },
{ origin: 'index.html', symlink: '404.html' },
])
]
};
The plugin doesn't make any symlink if a directory for a destination doesn't exist as default.
Passing an option force: true
, will create it regardless.
When directories of symlink don't exist, force
option allows to dig. For instance, what if a config has symlink: 'one/two/200.html'
but one/two/
dir doesn't exist when the plugin runs, one
, one/two
directories will be created.
You can point an exact compiler hook to make a symlink.
{ origin: 'index.html', symlink: '200.html', hook: 'entryOption' },
yarn
yarn test