zoukankan      html  css  js  c++  java
  • VSCode下手动构建webpack项目

    1.执行npm install nrm -g,安装nrm,此模块主要用于切换npm镜像源,简化手动配置步骤

    2.执行 nrm ls,可以看到npm源地址列表,当前使用的是默认源,npm https://registry.npmjs.org/

    3.执行 nrm use taobao,将npm的源修改为taobao所指向的地址

    4.再次执行nrm ls,可以看到npm的源已经指向了taobao源,今后执行npm命令就默认从taobao镜像拉取模块

    5.执行命令npm config ls:查看npm配置,检查源是否切换成功

    6.在VSCode中打开终端,切换到当前项目根目录下,输入npm init -y,初始化项目。初始化完成后会在项目根目录下生成package.json文件

    7.执行npm install webpack -g,安装全局webpack模块,安装完成后才能在终端中输入webpack命令,否则会提示无法将“webpack”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

    8.执行命令 npm install webpack-cli -g,全局安装webpack-cli

    9.执行命令下面命令,勇webpack将./src/main.js打包生成为./dist/bundle.js文件

    【webpack ./src/main.js -o ./dist/bundle.js  --mode development】

    注意:-o是webpack 4.x之后新增的选项,低版本不需要加-o,4.x之后如果不加-o就会报错

     --mode development:代表是以开发模式打包,如果不加句,默认以发布模式打包,但是会在终端提示黄色警告信息。

    10.之后在Index.html中引用dist目录下的bundle.js,测试能正确运行。

    11.由于每次使用webpack打包都需要在webpack后面填写一长串指令,为了简化这个步骤,我们可以使用webpack.config.js来进行配置。

    在项目根目录下新增文件 webpack.config.js,并写入如下代码,这个代码的目的是让webpack命令在执行的时候自动启用默认的用户设置

    //导入path模块,并取名为path
    var path=require("path")
    
    module.exports={
        //使用开发模式打包,这是4.x新加入的,否则会出现黄色警告
        mode:"development", 
        //定义webpack执行时候的入口文件
        //__dirname变量获取当前模块文件所在目录的完整绝对路径
        entry:path.join(__dirname,"./src/main.js"),
        output:{
            //定义输出文件路径
            path:path.join(__dirname,"./dist"),
            //定义输出文件名
            filename:"bundle.js" 
        }
    }
    

    12.现在可以直接使用webpack命令打包了,该命令在执行时会首先加载webpack.config.js文件中的配置来执行

    13.上述配置完成后,依然不够智能,因为每次修改完代码都需要使用webpack命令重新打包,所以需要用到webpack-dev-server这个web前端服务器来辅助我们webpack自动执行。

    执行npm install webpack-dev-server安装

    14.webpack-dev-server安装完成后,我们在package.json文件下的"scripts"对象里,新增一个名为"dev"的属性,值是"webpack-dev-server"

    15.接下来我们可以直接使用npm run dev命令来启动 webpack-dev-server这个web前端服务器。不出意外的果然报错了。

    错误信息:Error: Cannot find module 'webpack'

    16.这个错误的原因是,除了安装全局webpack,当前项目下还要安装一个webpack,执行命令【npm install webpack -D】在当前项目下安装webpack

    17.再次执行npm run dev依旧报错

    错误信息:Error: Cannot find module 'webpack-cli/bin/config-yargs'

    是因为在当前项目安装webpack之后,还需要在当前项目下安装webpack-cli

    18.接下来在当前项目下安装webpack-cli,执行命令【npm install webpack-cli -D】

    19.再次执行【npm run dev】,总算成功了

    21.在package.json文件夹修改webpack-dev-server的参数

    --open表示 服务启动后自动打开浏览器,--port 3000表示服务器端口号,--contentBase src表示服务器启动后自动跳转到src文件夹下
     

    22.添加如下代码:之后执行 npm run dev启动服务

    main.js

    //定义JS函数
    function changeBgColor()
    {
        document.getElementById("app").style.backgroundColor="#ddd";
    }
    //提升js函数到windows级别,如果不提升,会提示找不到
    window.changeBgColor=changeBgColor
    

    index.html

    <!-- 自定义代码注释 -->
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>NCK测试VUE模板</title>
        <!-- 这里使用的是/bundle.js 而不是../dist/bundle.js 是因为webpack-dev-server会在当前项目根目录下在内存里生成一个bundle.js文件 -->
        <script src="/bundle.js"></script>
    </head>
    <body>
        <div id="app">
            <input type="button" onclick="changeBgColor();" value="点击我改变div颜色"/>
            <h1>dsfsd</h1>
        </div>
    
    </body>
    </html>
    

    23.修改main.js里的背景颜色,ctrl+s,再点击按钮颜色会自动改变,证明webpack项目构建成功。

    接下来配置webpack打包css样式文件

    24.根目录下新建css文件夹,文件夹下新建index.css文件

    25.main.js中增加代码 

    import "../css/index.css"

    26.用webpack打包会提示错误信息,Module not found: Error: Can't resolve,因为webpack默认只能打包js文件,需要打包css文件需要增加第三方loader插件

    27.执行npm install style-loader css-loader -D 安装style-loader和css-loader两个插件

    28.在webpack.config.js增加module节点,该规则会从右往左执行,先执行css-loader,再执行 sytle-loader

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

    29.再次执行webpack命令,发现已经可以通过了

    30.执行npm run dev,样式设置成功

  • 相关阅读:
    (转)浮点数的存储方式
    (转)静态变量和全局变量的区别
    (转)RTMP协议从入门到放弃
    python: format
    Tornado web.authenticated 用户认证浅析
    Python时间,日期,时间戳之间转换
    Python图片处理PIL/pillow/生成验证码/出现KeyError: 和The _imagingft C module is not installed
    Python图像处理库:Pillow 初级教程
    Python练习册--PIL处理图片之加水印
    python中string模块各属性以及函数的用法
  • 原文地址:https://www.cnblogs.com/fuhua/p/13365697.html
Copyright © 2011-2022 走看看