美文网首页
webpack 多文件入口打包

webpack 多文件入口打包

作者: 抬头丶看天空 | 来源:发表于2018-08-25 10:49 被阅读0次

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

相关文章

  • webpack(七) 动态打包多入口文件

    webpack如何打包多入口文件webpack打包文件主要是靠entry中配置对象,对象的key有几个,那么对象的...

  • webpack 多文件入口打包

    1、webpack打包是基于寻找js文件 分离 css 实现打包 在网上找到多入口打包都不适合项目 于是乎基于找的...

  • webpack打包多入口文件

    使用[name]表示动态的名字output对象如果需要每次打包产生新的文件,并且指定生成8位hash码,可以这样写...

  • webpack

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

  • webpack 原理

    webpack 核心 核心概述 entry 入口文件:js 代码文件,可执行的 node 模块或打包的入口文件。 ...

  • webpack code spliting 代码分割

    1、目的 避免打包生成一个大文件,致力于将打包文件拆分成适当个数的小文件 2、方法一、webpack 配置多入口模...

  • webpack技术内幕

    webpack技术内幕 入口文件 对于多入口文件,如何巧妙地编写入口 Module浅析 开启对Webpack多核的...

  • webpack资源入口

    概述 通过探索我们知道可以把css文件作为打包的入口,不过webpack的打包入口一般还是JavaScript, ...

  • webpack配置项

    webpack配置项主要包括以下几个: entry:入口,定义要打包的文件 output:出口,定义打包输出的文件...

  • webpack解惑:多入口文件打包策略

    引用 https://www.cnblogs.com/lvdabao/p/5944420.html 本文是我用we...

网友评论

      本文标题:webpack 多文件入口打包

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