美文网首页
webpack 多个入口输出多个文件解决方案 | webpack

webpack 多个入口输出多个文件解决方案 | webpack

作者: 王乐城愚人云端 | 来源:发表于2019-02-26 16:04 被阅读0次
  • 1、webpack 多个单页面入口,需要重复写多个entry;
  • 2、webpack entry不支持glob,不可以使用模糊匹配符号
  • 3、webpack 会打包所有的css到一个文件,而有需求是分开输出

一、解决webpack会打包所有css到一个文件

入口要命名,分开写,就会分开打包

const entry = require('webpack-glob-entry')
module.exports = [
    {
        entry: {
            index: './src/index.css',
            main: './src/main.css',
        },
        ...
    },

二、解决以css为入口文件时,仍然会输出多余的空js文件

引入修正插件,会删除多余的js文件

npm install -D webpack-fix-style-only-entries
const FixStyleOnlyEntriesPlugin = require('webpack-fix-style-only-entries')
module.exports = {
        plugins: [
            new FixStyleOnlyEntriesPlugin(),
            ...
        ],
    },

三、解决webpack不支持glob,模糊匹配问题

npm install -D webpack-glob-entry
const entry = require('webpack-glob-entry')
module.exports = [
    {
        entry: entry('./src/*.scss'),
        ...
    },

四、最终webpack.config.js配置

以下配置用于将多个scss文件转换成多个css文件

const path = require('path');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const entry = require('webpack-glob-entry')
const FixStyleOnlyEntriesPlugin = require("webpack-fix-style-only-entries");

const baseConfig = {
    module : {
        rules: [
            {
                test: /\.scss$/,
                use: ExtractTextPlugin.extract({
                    use: ['css-loader', 'sass-loader']
                }),
            }
        ]
    },
    output: {
        path: path.resolve(__dirname, './lib'),
    },
}
module.exports = [
    {
        ...baseConfig,
        entry: entry('./src/*.scss'),
        plugins: [
            new FixStyleOnlyEntriesPlugin(),
            new ExtractTextPlugin({
                filename: `/css/[name].css`,
            }),
        ],
    },
    {
        ...baseConfig,
        entry: entry('./src/component/*.scss'),
        plugins: [
            new FixStyleOnlyEntriesPlugin(),
            new ExtractTextPlugin({
                filename: `/css/component/[name].css`,
            }),
        ],
    },
];

相关文章

  • webpack 多个入口输出多个文件解决方案 | webpack

    1、webpack 多个单页面入口,需要重复写多个entry; 2、webpack entry不支持glob,不可...

  • webpack配置多个入口文件和多个输出

    多个入口,多个出口的添加 webpack基础的配置 多个入口(html文件),多个出口的配置demo

  • webpack

    webpack基本概念 1、entry:入口 webpack可以同时打包多个文件,只要规定了各个文件的入口文...

  • webpack 配置多文件

    1 基础 webpack 入口 配置 2 配置多个HtmlWebpackPlugin 生成多个html文件 Htm...

  • Webpack

    基本安装 初始化项目 安装webpack 新建文件webpack.config.js 可以有多个入口(entry)...

  • webpack禁用performance hints

    近期升级了webpack 5,因为入口文件有400多个,导致打包的时候内存溢出,查了一些资料,解决方案是全局安装i...

  • webpack原理

    1.webpack核心概念 entry: 一个可执行模块或库的入口文件。chunk :多个文件组成的一个代码块...

  • Webpack4-Output

    配置 output 选项可以控制 webpack 如何向硬盘写入编译文件。注意,即使可以存在多个入口起点,但只指定...

  • 关于webpack

    一句话描述webpack 一个可以将多个文件打成一个或者多个文件的工具,所谓的打包器。如下图,webpack可以将...

  • webpack分包分析

    对webpack略有了解的朋友都知道,通过给webpack指定入口文件和出口路径,webpack就能从入口文件开始...

网友评论

      本文标题:webpack 多个入口输出多个文件解决方案 | webpack

      本文链接:https://www.haomeiwen.com/subject/amaayqtx.html