分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

webpack 简单配置

发布时间:2023-09-06 02:03责任编辑:傅花花关键词:配置webpack
const ExtractTextPlugin = require(‘extract-text-webpack-plugin‘) ????//打包的css拆分,将一部分抽离出来const webpack = require(‘webpack‘); //引入的webpack,使用lodashconst HtmlWebpackPlugin = require(‘html-webpack-plugin‘) ?//将html打包const path = require(‘path‘); ?//引入node的path模块const CopyWebpackPlugin = require(‘copy-webpack-plugin‘)module.exports = function() { ???return { ???????entry: ‘./src/index.js‘, ???????output: { ???????????path: path.resolve(__dirname, ‘../dist‘), //定位,输出文件的目标路径 ???????????filename: ‘[name].js‘, ???????????// publicPath: publicPath, ???????????// sourceMapFilename: ‘[name].map‘ ???????}, ???????optimization: { ???????????splitChunks: { ???????????????chunks: ‘all‘ ???????????} ???????}, ???????resolve: { ???????????// 解决,react-router-dom 等依赖react的包报错缺少 react的问题 ???????????alias: { ???????????????‘react‘: ‘nervjs‘, ???????????????‘react-dom‘: ‘nervjs‘, ???????????????// 除非你想使用 createClass,否则这一条配置是没有必要的 ???????????????‘create-react-class‘: "nerv-create-class" ???????????}, ???????????modules: [ // 模块的查找目录 ???????????????path.resolve(__dirname, ‘../node_modules‘) ???????????], ???????????extensions: [".js", ".json", ".jsx", ".css"], // 用到的文件的扩展 ???????}, ???????module: { ???????????rules: [ ???????????????{ ???????????????????test: /\.js$/, ???????????????????// include: [ ???????????????????// ????path.resolve(__dirname, ‘src‘) ???????????????????// ], ???????????????????use: ‘babel-loader‘ ???????????????}, ???????????????// css 引入外来或者公共样式,与模块式css混淆会导致 外来样式不认识 ???????????????// 此时 公共样式统一放在 assets文件夹下 ???????????????{ ???????????????????test: /\.css$/, ???????????????????include: [ ???????????????????????path.resolve(__dirname, ‘../src/assets‘) ???????????????????], ???????????????????use: ExtractTextPlugin.extract({ ???????????????????????fallback: ‘style-loader‘, ???????????????????????use: [ ???????????????????????????‘css-loader‘ ???????????????????????] ???????????????????}) ???????????????}, ???????????????// css 模块儿化配置 ???????????????{ ???????????????????test: /\.css$/, ???????????????????exclude: [ ???????????????????????path.resolve(__dirname, ‘../src/assets‘), ???????????????????], ???????????????????// use: ‘css-loader‘ ???????????????????use: ExtractTextPlugin.extract({ ???????????????????????fallback: ‘style-loader‘, ???????????????????????use: [ ???????????????????????????{ loader: ‘css-loader‘, ???????????????????????????????options: { ???????????????????????????????????modules: true, ???????????????????????????????????sourceMap: true, ???????????????????????????????????importLoaders: 1, ???????????????????????????????????localIdentName: ‘[name]__[local]___[hash:base64:5]‘ ???????????????????????????????} ???????????????????????????} ???????????????????????] ???????????????????}) ???????????????}, ???????????????{ ???????????????????test: /\.(jpg|png|gif)$/, ???????????????????use: [ ???????????????????????{ ???????????????????????????loader: ‘file-loader‘ //根据文件地址加载文件 ???????????????????????} ???????????????????] ???????????????}, { ???????????????????test: /\.(woff|woff2|eot|ttf|svg)$/, ???????????????????use: [ ???????????????????????{ ???????????????????????????loader: ‘url-loader?limit=100000‘ // ???????????????????????} ???????????????????] ???????????????} ???????????], ???????}, ???????plugins: [ ???????????// 提取css ???????????new ExtractTextPlugin(‘style.css‘), ???????????// 直接复制过去的样式文件 ???????????new CopyWebpackPlugin([ ?//src下其他的文件直接复制到dist目录下 ???????????????{ from:‘src/assets‘,to: ‘../dist/assets‘ } ???????????]), ???????????// 此处的入口地址一定要写正确哦 ???????????new HtmlWebpackPlugin({ ???????????????filename: ‘index.html‘, ???????????????template: ‘./index.html‘ ???????????}) ???????], ???};}

package.json

{ ?"name": "idhp", ?"version": "1.0.0", ?"description": "", ?"main": "index.js", ?"scripts": { ???"dev": "webpack-dev-server --env.NODE_ENV=dev --config webpack.config.js --mode development", ???"build": "webpack --env.NODE_ENV=prod --mode production" ?}, ?"keywords": [], ?"author": "", ?"license": "ISC", ?"devDependencies": { ???"@babel/core": "^7.0.0-beta.53", ???"@babel/plugin-transform-react-jsx": "^7.0.0-beta.53", ???"@babel/preset-env": "^7.0.0-beta.53", ???"babel-loader": "^8.0.0-beta.0", ???"copy-webpack-plugin": "^4.5.2", ???"css-loader": "^1.0.0", ???"extract-text-webpack-plugin": "^4.0.0-beta.0", ???"file-loader": "^1.1.11", ???"html-webpack-plugin": "^3.2.0", ???"postcss-loader": "^2.1.6", ???"style-loader": "^0.21.0", ???"webpack": "^4.16.0", ???"webpack-cli": "^3.0.8", ???"webpack-dev-server": "^3.1.4", ???"webpack-merge": "^4.1.3" ?}, ?"dependencies": { ???"nervjs": "^1.3.1", ???"react-router-dom": "^4.3.1", ???"swiper": "^4.3.3" ?}}

webpack 简单配置

原文地址:https://www.cnblogs.com/Mvloveyouforever/p/9304297.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved