https://github.com/zhusiqing/webpack-cdn-replace-plugin
webpack插件,用于cdn上传并替换对应地址
https://github.com/zhusiqing/webpack-cdn-replace-plugin
Last synced: over 1 year ago
JSON representation
webpack插件,用于cdn上传并替换对应地址
- Host: GitHub
- URL: https://github.com/zhusiqing/webpack-cdn-replace-plugin
- Owner: zhusiqing
- License: mit
- Created: 2022-07-22T07:10:43.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-08-25T07:10:45.000Z (almost 4 years ago)
- Last Synced: 2025-02-01T12:45:40.706Z (over 1 year ago)
- Language: JavaScript
- Size: 2.08 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# webpack-cdn-replace-plugin
webpack插件,用于解决项目文件上传cdn后需要手动替换地址的问题,无任何上传依赖,让用户灵活使用自己想用的cdn上传服务
## 安装
```bash
# npm
npm i -D webpack-cdn-replace-plugin
# yarn
yarn add -D webpack-cdn-replace-plugin
# pnpm
pnpm add -D webpack-cdn-replace-plugin
```
## 用法
在你的`webpack.config.js`文件中:
```javascript
const { UploadPlugin } = require('webpack-cdn-replace-plugin')
module.exports = {
mode: 'production',
output: {
// 这里的publicPath要为空,不然js文件中的cdn地址会出问题
publicPath: '',
// ...
},
// ...其他webpack配置
plugins: [
// ...其他webpack插件
new UploadPlugin({
uploadFn: async(path, fileName) => {
// 此处调用你要用的cdn上传api,将返回的cdn地址返回
return `http://test.cdn/${fileName}`
}
})
]
}
```
> 注意事项:**publicPath**一定要为空,不然cdn地址替换后会有问题
## 参数
#### options.uploadFn: `(path: string, fileName: string) => string | Promise`
上传cdn的处理函数
默认值:`(path, fileName) => fileName`
#### options.cache: `boolean`
是否启用缓存
默认值:`true`
#### options.types: `object`
需要上传cdn处理的文件类型
|参数名|类型|必选|说明|
|:---- |:-- |:---|:----- |
|img |string[]| 否 | 需要上传的图片文件类型 |
|font |string[]| 否 | 需要上传的字体文件类型 |
|css |string[]| 否 | 需要替换图片和字体并上传的css文件类型 |
|js |string[]| 否 | 需要替换图片和字体并上传的js文件类型 |
|html |string[]| 否 | 需要替换css和js的html文件类型 |
默认值:
```javascript
{
img: ['.png', '.jpg', '.jpeg', '.svg'],
font: ['.ttf', '.otf', '.woff', '.woff2', '.eot'],
css: ['.css'],
js: ['.js'],
html: ['.html']
}
```
> 注意事项:**html**文件不会上传,这里是用于替换其他上传文件的地址
## License
MIT
Copyright (c) 2022 zhusiqing