wepack 项目中使用axios配置文件

134 阅读2分钟

首先安装axios

yarn add axios  || npm install axios 

第二步直接通过es6的模块化导入

//导入axios 
import axios from 'axios';

2.完整配置文件+项目

1.首先我们创建一个项目项目
2.在创建一个文件夹叫src里面有
css文件夹里面创建所有页面的css文件后缀为.less
fonts文件夹里面存放的为iconfont图标除(带demo,json,js)不要剩下的都要;
images文件夹里面放图片
js里面放所有的js
lib 文件夹里面放所有的插件
utils文件夹里面放所有工具函数axios请求
在src文件夹里面创建要的页面
3.然后git init 
然后cmd yarn init -y
如果我们连接git我们就要去git上面创建一个项目
记住千万在git上面电原成仓库点击初始化
下面有四句话除了git init 剩下三句全部复制gitbush上面提交一下
4.创建webpack.config.js
/**
 * webpack.config.js 打包配置文件
 */

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCssAssetsWebpackPlugin = require('optimize-css-assets-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin')


module.exports = {
    entry: {
        common:'./src/js/common.js', 
        home:'./src/js/home.js',  
        login:'./src/js/login.js',  
        register:'./src/js/register.js', 
    },
    output: {
        path: path.resolve(__dirname, 'dist'),   
        filename: 'js/[name]-[hash].js',         
        publicPath: './'             
    },
    module: {
        rules: [
            {
                test: /\.css$/,        
                use: [{
                    loader: MiniCssExtractPlugin.loader,
                    options: {
                      publicPath: '../'
                    }
                },'css-loader','postcss-loader']
            },
            {
                test: /\.less$/, //配置less处理器
                use: [{
                    loader: MiniCssExtractPlugin.loader,
                    options: {
                      publicPath: '../'
                    }
                }, 'css-loader', 'postcss-loader','less-loader']
            },
            {
                test: /\.(png|jpg|gif)$/,
                loader: 'url-loader',     
                options: {
                    name: '[hash].[ext]',  
                    limit: 30 * 1024, 
                    esModule: false,  
                    outputPath:'img'
                },
            },
            {
                test: /\.html$/,    
                loader: 'html-loader'
            },
            {
                test: /\.(eot|svg|ttf|woff|woff2)$/, 
                loader: 'file-loader',
                options:{
                    outputPath:'fonts'  
                }
            },
            {
                test: /\.js$/,
                loader: 'babel-loader',    
                exclude: /node_modules/, 
            }

        ]
    },
    plugins: [
        new HtmlWebpackPlugin({   
            template: './src/page/home.html',         
            filename:'home.html',
            chunks:['home','common']                     
        }),
        new HtmlWebpackPlugin({   
            template: './src/page/login.html',      
            filename:'login.html',
            chunks:['login','common']
        }),
        new HtmlWebpackPlugin({   
            template: './src/page/register.html',      
            filename:'register.html',
            chunks:['register','common']
        }),
        new MiniCssExtractPlugin({
            filename: 'css/[name]-[hash].css' 
        }),
        new OptimizeCssAssetsWebpackPlugin(),
        new CleanWebpackPlugin()

    ],
    mode: process.env.NODE_ENV,
    devServer: {
        contentBase: path.resolve(__dirname, 'dist'),
        compress: true, 
        port: 8080, 
        open: true, 
        publicPath: '/',
        openPage: 'index.html',
    },
    target: 'web', 
}

初始化的时候有一个 package.json

{
  "name": "fitness-app",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "serve": "cross-env NODE_ENV=development webpack serve",
    "build": "cross-env NODE_ENV=production webpack"
  },
  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "7.1.5",
    "babel-preset-es2015": "^6.24.1",
    "clean-webpack-plugin": "^4.0.0-alpha.0",
    "cross-env": "^7.0.3",
    "css-loader": "^5.2.0",
    "file-loader": "^6.2.0",
    "html-loader": "1.3.2",
    "html-webpack-plugin": "5.0.0-beta.1",
    "less": "^4.1.1",
    "less-loader": "^8.0.0",
    "mini-css-extract-plugin": "^1.4.1",
    "optimize-css-assets-webpack-plugin": "^5.0.4",
    "postcss-loader": "^5.2.0",
    "postcss-preset-env": "^6.7.0",
    "style-loader": "^2.0.0",
    "url-loader": "^4.1.1",
    "webpack": "5.11.0",
    "webpack-cli": "^4.6.0",
    "webpack-dev-server": "^3.11.2"
  },
  "dependencies": {},
  "browserslist": {
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ],
    "production": [
      ">0.1%"
    ]
  }
}