Problems migrating from Webpack 1 to Webpack 2 -
i trying migrate existing project webpack 2 (which know outdated release of 3, suffice now). i've read of documentation along changes webpack.config.js, keep getting problems cannot resolve, having .css/.less files. below have .config file, there glaring changes make? can pass along more information set if needed. thank you!
const webpack = require('webpack'); const bodyparser = require('body-parser'); const mockroute = require('./data/route'); const name = require('./package').name; const path = require('path'); const httpport = process.env.port || 8082; const hostmap = { dev: 'localhost', }; const build_variables = require('./data/build-version')(true); const currenthost = 'qa'; function webpackconfiggenerator(componentname) { const webpackconfig = { entry: { dev: [ `webpack-dev-server/client?http://localhost:${httpport}`, 'webpack/hot/only-dev-server', './src/main.less', './dev/index.js', ], }, output: { path: path.resolve(__dirname, '../../', 'dev'), publicpath: '/dev/', filename: '[name].js', sourcemapfilename: '[file].map', }, devtool: 'source-map', resolve: { extensions: ['.js', '.jsx', '.less'], modules: ['node_modules'], alias: { 'ubs-grid-plugins$': 'ubs-grid-plugins/dist/ubs-grid-plugins', 'grid/grid$': 'ubs-grid/main.js', 'ag-grid-root': `${__dirname}/node_modules/ag-grid`, }, }, module: { rules: [ { test: /\.(js|jsx)/, exclude: /node_modules/, use : [ { loader: 'react-hot-loader', }, { loader: 'babel-loader', } ] }, { test: /\.json$/, loader: 'json-loader', }, { test: /\.html/, loader: 'html-loader', }, { test: /\.(woff|woff2|ttf|svg|eot)$/, loader: 'file?name=assets/fonts/[name].[ext]', }, { test: /\.(jpe?g|png|gif|ico)$/i, loader: 'file?name=assets/images/[name].[ext]', }, { test: /\.css$/, loader: 'style-loader' + '!css-loader' + '!autoprefixer-loader?{browsers:["last 2 version"]}', }, { test: /\.less$/, loader: 'style-loader' + `!css-loader?localidentname=${componentname}` + '!autoprefixer-loader?{browsers:["last 2 version"]}' + '!less-loader?strictmath&noiecompat', }, ], }, devserver: { compress: true, setup: (app) => { app.use(bodyparser.json()); app.use(mockroute); }, stats: {colors: true}, proxy: { '/sign-off': `http://${hostmap[currenthost]}:9099`, '/user': `http://${hostmap[currenthost]}:9099`, '/data-types': `http://${hostmap[currenthost]}:9099`, }, contentbase: [ path.join(__dirname, 'dev'), ], }, plugins: [ new webpack.hotmodulereplacementplugin(), build_variables, ], }; return webpackconfig; } const webpackbaseconfig = webpackconfiggenerator(name); module.exports = object.assign({}, webpackbaseconfig);
Comments
Post a Comment