webpack 多文件入口打包

1、webpack打包是基于寻找js文件 分离 css 实现打包

在网上找到多入口打包都不适合项目 于是乎基于找的一个模板自己摸索
项目结构


image.png

src 下为文件目录
支持scss es6
主要模块


image.png

最重要的就是入口文件配置

    function getEntry() {
        var jsPath = path.resolve(srcDir, 'js');
        var dirs = fs.readdirSync(jsPath);
        var matchs = [], files = {};
      dirs.forEach(function (item) {
            matchs = item.match(/(.+)\.js$/);
            if (matchs) {
                files[matchs[1]] = path.resolve(srcDir, 'js', item);
            } else {
        var dirss = fs.readdirSync(path.join(path.resolve(srcDir, 'js'), item))
            dirss.forEach(function (items) {
            matchs = items.match(/(.+)\.js$/);
            matchs[1] = item + '\\' + matchs[1];
            files[matchs[1]] = path.resolve(srcDir, 'js', item) + '\\' + matchs[0];
              });
          }
        // console.log(files[matchs[1]]+'555')
      });
        return files;
  }

css 抽离

// 分离css插件参数为提取出去的路径

    new extractTextPlugin({
        // filename: 'css/[name].[hash:8].min.css',
        filename: 'css/[name].css',
        ignoreOrder: true
    }),
    //压缩css
    new OptimizeCSSPlugin({
        cssProcessorOptions: {
            safe: true,
            map: { inline: false }, 
            autoprefixer: { remove: false }  //添加对autoprefixer的配置
        }
    }),

loader

{
    test: /\.(gif|png|jpe?g|svg)$/i,
    use: [{
        // 需要下载file-loader和url-loader
        loader: "url-loader",
        options: {
            limit: 1, //小于这个时将会已base64位图片打包处理
            name: '[path][name].[ext]',
            context:'src',
            // 图片文件输出的文件夹
            // publicPath:'/home/newbfyj/',
            publicPath:'../../',
            outputPath: "./"
        }
    }]
},
{
test: /\.(eot|otf|ttf|woff|woff2)\w*/,
    loader: 'url-loader',
    options: {
        limit: 1,
        name: '[path][name].[ext]',
        publicPath:'../../',
        context:'src',
    }, 
},

附上github
https://github.com/xiaollifeidao/vue-build-/tree/master/webpack4

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1 Webpack 1.1 概念简介 1.1.1 WebPack是什么 1、一个打包工具 2、一个模块加载工具 3...
    Kevin_Junbaozi阅读 11,792评论 0 16
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 webpack介绍和使用 一、webpack介绍 1、由来 ...
    it筱竹阅读 13,864评论 0 21
  • 写在前面的话 阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较...
    不忘初心_9a16阅读 8,491评论 0 17
  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 10,869评论 1 32
  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 12,561评论 7 35

友情链接更多精彩内容