• 学习webpack


    #第一节
    =======
    webpack安装4.6.0
    npm install -g webpack
    npm install webpack-cli -g
    webpack -v

    npm init创建项目
    npm install
    npm install --save-dev webpack


    卸载: npm uninstall webpack -g
    npm install webpack-cli --save-dev


    #第二节
    =======
    webpack打包
    webpack src/b.js --output-filename a.js
    会把src下的b.js打包到dist/a.js

    #第三节
    =======
    配置webpack.config.js
    配置入口和出口
    const path=require('path');

    module.exports={
    entry:{//入口
    entry:'./src/b.js',
    entry2:'./src/b2.js'
    },
    output:{//出口
    path:path.resolve(__dirname,'dist'),
    filename:'[name].js'
    },
    module:{},
    plugins:[],
    devServer:{}
    }
    命令行输入webpack打包文件

    #第四节
    =======
    热更新和服务
    配置webpack.config.js
    devServer:{
    contentBase:path.resolve(__dirname,'dist'),//文件路径要监听的文件
    host:'192.168.1.168',//本机ip地址 ipconfig查看本机ip
    compress:true,//是否启用服务器压缩
    port:1717 //端口号
    }
    npm install webpack-dev-server --save-dev

    #第五节
    =======
    打包css文件
    在js中引入css import css from './css/index.css';
    安装
    npm install style-loader --save-dev
    npm install css-loader --save-dev
    配置webpack.config.js

    module:{
    rules:[
    {
    test:/.css$/,
    use: ["style-loader", "css-loader"]
    }
    ]
    },
    或者
    module:{
    rules:[
    {
    test:/.css$/,
    use:[{
    loader:"style-loader"
    },{
    loader:"css-loader"
    }]
    }
    ]
    },

    #第六节
    =======
    js压缩
    配置webpack.config.js
    引入
    const uglify = require('uglifyjs-webpack-plugin');

    plugins:[
    new uglify()
    ],


    #第七节
    =======
    html文件打包
    cnpm install --save-dev html-webpack-plugin
    引入
    配置webpack.config.js
    const htmlPlugin=require('html-webpack-plugin');

    plugins:[
    // new uglify()
    new htmlPlugin({
    minify:{
    removeAttributeQuotes:true
    },
    hash:true,
    template:'./src/index.html'
    })
    ],
    #第八节
    =======
    css引入图片
    图片写成背景
    安装
    npm install --save-dev file-loader url-loader
    配置webpack.config.js
    rules:[
    {
    test:/.css$/,
    use:[{
    loader:"style-loader"
    },{
    loader:"css-loader"
    }]
    },{
    test:/.(png|jpg|gif)/,
    use[{
    loader:'url-loader',
    options:{
    limit:50000
    }
    }]
    }
    ]
    #第九节
    =======
    css分离
    安装
    npm install --save-dev extract-text-webpack-plugin
    如果出现错误
    Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead

    npm install extract-text-webpack-plugin@next
    配置
    webpack.config.js
    引入
    const extractTextPlugin=require('extract-text-webpack-plugin');
    rules:[
    {
    test:/.css$/,
    use:extractTextPlugin.extract({
    fallback: "style-loader",
    use: "css-loader"
    })
    },{
    test:/.(png|jpg|gif)/,
    use:[{
    loader:'url-loader',
    options:{
    limit:500
    }
    }]
    }
    ]
    new extractTextPlugin("/css/index.css"),
    处理图片路径
    var website={
    publicPath:'http://192.168.1.168:1717/'
    }
    output:{//出口
    path:path.resolve(__dirname,'dist'),
    filename:'[name].js',
    publicPath:website.publicPath
    },


    #第十节
    =======

    图片打包到images文件夹下
    配置
    webpack.config.js
    rules:[
    {
    test:/.css$/,
    use:extractTextPlugin.extract({
    fallback: "style-loader",
    use: "css-loader"
    })
    },{
    test:/.(png|jpg|gif)/,
    use:[{
    loader:'url-loader',
    options:{
    limit:500,
    outputPath:'images/'
    }
    }]
    }
    ]
    局部安装webpack
    运行webpack
    配置
    package.json
    "scripts": {
    "server": "webpack-dev-server",
    "build":"webpack"
    },

    处理html中img引入图片
    安装国人写的
    cnpm insatll --save-dev html-withimg-loader
    配置
    webpack.config.js
    rules:[
    {
    test:/.css$/,
    use:extractTextPlugin.extract({
    fallback: "style-loader",
    use: "css-loader"
    })
    },{
    test:/.(png|jpg|gif)/,
    use:[{
    loader:'url-loader',
    options:{
    limit:500,
    outputPath:'images/'
    }
    }]
    },
    {
    test:/.(html|htm)$/,
    use:[ 'html-withimg-loader']
    }
    ]

  • 相关阅读:
    mvc 当中 [ValidateAntiForgeryToken] 的作用 转载https://www.cnblogs.com/hechunming/p/4647646.html
    ASP.NET MVC学习系列(一)-WebAPI初探
    ASP.NET MVC学习系列(二)-WebAPI请求 转载https://www.cnblogs.com/babycool/p/3922738.html
    MVC和WebApi 使用get和post 传递参数。 转载https://blog.csdn.net/qq373591361/article/details/51508806
    Web API与AJAX:理解FormBody和 FormUri的WebAPI中的属性
    webApi之FromUri和FromBody区别
    C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解 转载 https://www.cnblogs.com/landeanfen/p/5501487.html
    JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查
    PHP 生成唯一的激活码
    C++ virtual继承
  • 原文地址:https://www.cnblogs.com/aSnow/p/9019626.html
Copyright © 2020-2023  润新知