1.0.5 • Published 3 years ago

neaten-transfer-webpack-plugin v1.0.5

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

NPM version GitHub license

neaten-transfer-webpack-plugin

用于将多个不在同级目录中文件或多个不在同级目录中文件夹复制到另一个文件中的webpack plugin,会在webpack打包编译结束之后执行。

使用方法

首先,你需要安装这个插件,如下:

npm install neaten-transfer-webpack-plugin --save-dev

配置 webpack plugins 参数

const NeatenTransferWebpackPlugin = require('neaten-transfer-webpack-plugin')

module.exports = {
    //...
    plugins: [new NeatenTransferWebpackPlugin({
        from: [{
            path: path.resolve(__dirname, './'),
            name: 'dist'
        }, {
            path: path.resolve(__dirname, './'),
            name: 'package.json'
        }],
        to: {
            path: path.resolve(__dirname, './'),
            name: 'new',
            cover: true
        }
    })]
    //...
};

插件参数描述

NameTypeDescription
fromArray需要被复制的文件或文件夹
toObject被复制到的位置

下面是每个参数的详细描述

from

需要被复制的文件或文件夹,数组类型,支持多个 | Name | type | required | Description | | :----: | :-----: | :------: | :--------------- | | path | require | yes | 文件所在位置 | | name | String | yes | 文件名 | | rename | String | no | 重命名后的新名字 |

[
    {
        path: path.resolve(__dirname, './'),    // 文件所在位置
        name: 'dist',  // 文件名
        rename:'dist2' // 重命名后的新名字,不传则不重命名
    }
]

to

被复制到的位置,对象类型 | Name | type | required | Description | | :---: | :-----: | :------: | :-------------------------------------------- | | path | String | yes | 文件夹所在位置 | | name | String | yes | 文件夹名 | | cover | Boolean | no | 是否覆盖该文件夹下所有的文件 ,不覆盖性能更高 |

{
    path: path.resolve(__dirname, './'),    // 文件所在位置
    name: 'dist',  // 文件名
    cover: true    // true:相同的文件覆盖,不同的文件删除;false:相同的文件覆盖,不同的文件保留;默认为true
}

DOME

# 原文件位置如下,可复制为dist 和 config.js 到 new 文件夹下
- root
    - dist
        - a.js
        - b.js
    - config.js

# 复制后的文件位置:
- root
    - dist
        - a.js
        - b.js
    - config.js
    - new
        - dist
            - a.js
            - b.js
        - config.js

# 插件配置如下:
plugins: [new NeatenTransferWebpackPlugin({
    from: [{
        path: path.resolve(__dirname, './'),
        name: 'dist'
    }, {
        path: path.resolve(__dirname, './'),
        name: 'package.json'
    }],
    to: {
        path: path.resolve(__dirname, './'),
        name: 'new',
        cover: true
    }
})];