zoukankan      html  css  js  c++  java
  • webpack 配置使用

    var webpack = require("webpack");
    var buildPath = __dirname + "/build";
    var path = require('path');
    
    module.exports = {
        devtool: false,
        entry: {
            mainEntry: ['babel-polyfill',__dirname + "/app/src/js/pc/entry/mainEntry.js"]
            // vendor: ['react','react-dom','react-router']
        },
        output: {
            path: path.join(__dirname + "/app/build/js"),
            filename: "[name].js",
            publicPath:"../js/",//配置公共路径
            chunkFilename: '[name].js'
        },
        debug: true,
        module: {
            loaders: [
                { test: /.js[x]?$/, loaders: ['babel'] },
                { test: /.css$/, loader: "style!css" },
                {test: /.scss/,loader: 'style-loader!css-loader!sass-loader'},
                // { test: /.(css|less)$/, loaders: ['style-loader', 'css-loader?localIdentName=[local]-[hash:base64:5]', 'postcss-loader', 'less-loader'] },
                // { test: /.scss$/, loaders: ['style-loader', 'css-loader?modules&localIdentName=[local]-[hash:base64:5]', 'postcss-loader', 'sass-loader'] },
                { test: /.(ttf|eot|woff|woff2|otf|svg)/, loader: 'file-loader?name=./font/[name].[ext]' },
                { test: /.json$/, loader: 'file-loader?name=./json/[name].json' },
                { test: /.(png|jpg|jpeg|gif)$/, loader: 'url-loader?limit=10000&name=./images/[name].[ext]' }
            ]
        },
        plugins: [
            //new webpack.optimize.UglifyJsPlugin()//压缩
            new webpack.optimize.UglifyJsPlugin({
                compress: {
                    warnings: false
                },
                except: ['exports', 'require']
            }),
            //必须配置,react的公共模块
            // new webpack.optimize.CommonsChunkPlugin({
            //     names: ['vendor'],
            //     filename: 'vendor.js'
            // }),
            //取消使用压缩插件浏览器警告提示
            new webpack.DefinePlugin({
                'process.env':{
                    'NODE_ENV': JSON.stringify('production')
                }
            })
        ],
        resolve:{//配置别名,在项目中可缩减引用路径
            alias: {
                rootPath: __dirname,
                scripts: __dirname + "/app/src/js/",
                ajax : __dirname + "/app/src/js/common/ajaxCom.js"
            },
            extensions:["",".js",".jsx"]// 现在你require文件的时候可以直接使用require('file'),不用使用require('file.js')
        }
        
        // externals: {
        //     "react": 'React',
        //     'react-dom': 'ReactDOM'
        // }
    };
    View Code

    package.json 说明

    {
      "name": "React",
      "version": "1.0.0",
      "main": "server.js",
      "scripts": {//启动文件 npm run build
        "build": "webpack",
        "build-dev": "webpack -w -d"
      },
      "author": "tets",
      "license": "ISC",
      "description": "tets",
      "dependencies": {
        "babel-core": "^6.23.1",
        "babel-loader": "^6.3.2",
        "babel-preset-es2015": "^6.22.0",
        "babel-preset-react": "^6.23.0",
        "babel-preset-stage-1": "^6.22.0",
        "babel-polyfill": "^6.16.0",
        "fastclick": "^1.0.6",
        "react": "^15.4.2",
        "react-dom": "^15.4.2",
        "react-tap-event-plugin": "^2.0.1",
        "jsx-loader": "^0.13.2",
        "flux": "latest",
        "gulp": "^3.9.1",
        "gulp-minify-css": "^1.2.4",
        "gulp-rev": "^7.0.0",
        "gulp-sass": "^2.3.1",
        "keymirror": "latest",
        "koa": "^1.2.0",
        "koa-body": "^1.4.0",
        "koa-ejs": "^3.0.0",
        "koa-favicon": "^1.2.1",
        "koa-router": "^5.4.0",
        "koa-session": "^3.3.1",
        "koa-static": "^2.0.0",
        "object-assign": "latest",
        "react-router": "^2.4.1",
        "webpack": "^1.13.1"
      },
      "devDependencies": {
        "antd": "^2.7.2",
        "babel-plugin-import": "^1.1.1",
        "babel-plugin-transform-object-assign": "^6.22.0",
        "css-loader": "^0.26.1",
        "file-loader": "^0.10.0",
        "gulp-htmlmin": "^3.0.0",
        "gulp-imagemin": "^3.1.1",
        "gulp-notify": "^3.0.0",
        "imagemin-pngcrush": "^5.0.0",
        "koa-mongo": "^0.7.0",
        "postcss-loader": "^1.3.2",
        "react-slick": "^0.14.6",
        "sass-loader": "^4.1.1",
        "style-loader": "^0.13.1",
        "url-loader": "^0.5.7"
      },
      "babel": {
        "presets": [
          "es2015",
          "react",
          "stage-1"
        ],
        "plugins": [
          "transform-object-assign",
          [
        //antd按需加载css
            "import",
            {
              "libraryName": "antd",
              "style": "css"
            }
          ]
        ]
      }
    }
    View Code
  • 相关阅读:
    Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
    dubbo初探(转载)
    基于ZooKeeper的Dubbo注册中心
    kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
    HBase权威指南 高清中文版 PDF(来自linuxidc)
    Hadoop + HBase (自带zookeeper 也可单独加) 集群部署
    zookeeper 入门讲解实例 转
    eclipse 配置黑色主题
    myeclipse 2016 激活,myeclipse 2016 激活
    界面上传文件js包【AjaxUpload.js】
  • 原文地址:https://www.cnblogs.com/paul-du/p/6483964.html
Copyright © 2011-2022 走看看