美文网首页
小白搭建之部分填坑

小白搭建之部分填坑

作者: 一支桨 | 来源:发表于2018-11-30 17:27 被阅读132次

    代码仓库地址:webpack+react+redux+es6

    最开始拿已经写好的配置来给大家讲解,部分代码,没做解释,在后期的尝试中有些朋友会遇见坑,先给大家讲两个坑吧,如有其他的,欢迎交流探讨

    坑一 :

    • 描述: 当开发模式换为production 时,即下方命令时,控制台输入npm start 会在浏览器上显示报错信息
    //package.json 更改了dev的--mode development为 --mode production
    "scripts": {
      "start": "npm run dev",
      "dev": "webpack-dev-server --mode production --config webpack.dev.config.js --open ", 
       //...
    }
    

    报错为

    Failed to compile.
    asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
    This can impact web performance.
    Assets: 
      bundle.js (963 KiB)
    
    • 解决办法:在配置文件webpack.dev.config.js中加入如下配置:
    performance: {
            hints:false        
     }
    

    坑二:

    • 描述:配置好了如下图片的loader但是不能在浏览器上正确显示,除非使用require('路径')的格式讲图片加载获取到
    // webpack.dev.config.js
     {
                    test: /\.(jpg|png|gif|svg)$/,
                    use :{
                         loader: "url-loader",
                         options: {
                            limit: 8192,
                            name: "[name].[ext]"
                        }
                    }
    }
    
    • 解决办法:打开浏览器控制台可以发现,原来资源文件并没有被打包到项目的构建目录中,因此使用插件copy-webpack-plugin,将本地资源文件copy到构建目录中去
    • 安装依赖
        npm i -D copy-webpack-plugin
    
    • 配置webpack.dev.config.js
    // webpack.dev.config.js
    const CopyWebpackPlugin = require("copy-webpack-plugin");  //请求依赖
    //省略其他配置
    //...
     plugins:[
            //...
            new CopyWebpackPlugin([
                {
                    from:__dirname+"/images",   //定义要拷贝的源目录  
                    to:__dirname+"/static/images",  //定义要拷贝到的目标目录
                    force: true   //强制覆盖先前的插件
                }
            ]),
            
        ],
    

    相关文章

      网友评论

          本文标题:小白搭建之部分填坑

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