实现 列表隔行变色 案例

创建列表隔行变色项目

  1. 新建项目空目录,并运行npm init -y命令,初始化包管理配置文件package.json
  2. 新建src源代码目录
  3. 新建src->index.html首页
  4. 初始化首页基本的结构
  5. 运行npm install jquery -s命令,安装jQuery
  6. 通过模块化的形式,实现列表隔行变色效果

在项目中安装和配置webpack

  1. 运行npm install webpack webpack-cli -D命令,安装webpack相关的包
  2. 在项目目录中,创建名为webpack.config.js的webpack配置文件
  3. 在webpack的配置文件中,初始化如下基本配置:

​创建webpack.config.js文件(在根目录中)

module.export = {
    
    
    mode: 'development' // mode用来指定构建模式 (开发阶段mode的值为development;产品上线的时候mode的值为 ptoduct)
}
  1. 在package.json配置文件中的script节点下,新增dev脚本如下:
"script":{
    
    
    "dev":"webpack"//script节点下的脚本,可以通过npm run执行
}
  1. 在终端中运行npm run dev命令,启动webpack进行项目打包

打包完以后就可以运行.html文件了,如果项目文件有修改的话,要重新打包在终端中运行npm run dev命令,然后运行项目

列表隔行变色的实例:

index.html文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- <script src="./index.js"></script> -->
    <script src="../dist/main.js"></script>
</head>
<body>
    <ul>
        <li>这是第1个li</li>
        <li>这是第2个li</li>
        <li>这是第3个li</li>
        <li>这是第4个li</li>
        <li>这是第5个li</li>
        <li>这是第6个li</li>
        <li>这是第7个li</li>
        <li>这是第8个li</li>
        <li>这是第9个li</li>
    </ul>
</body>
</html>

index.js 文件 (只打包了.js文件)

import $ from 'jquery'

$(function () {
    
    
    // 奇数
    $('li:odd').css('backgroundColor', 'red')
    // 偶数
    $('li:even').css('backgroundColor', 'lightblue')
    
}) 

配置打包的入口与出口

1. webpack的4.x版本中默认约定:
  2. 打包的入口文件为src -> i ndex.js
  3. 打包的输出文件为dist -> main.js
  4. 如果要修改打包的入口与出口,可以在webpack.config.js中增加如下配置信息:

const path = require('path')//导入node.js中专门操作路劲的模块
module.export = {
    
    
    entry:path.join(_dirname,'./src/index.js'),//打包入口文件的路径
    output:{
    
    
        path:path.join(_dirname,'./dist'),//输出文件的存放路径
        filename:'bundle.js'//输出文件名称
    }
}

实例:

  1. 在配置文件webpack.config.js文件中,重置打包的入口和出口:
const path = require('path')

module.exports = {
    
    
    // 编译模式
    mode: 'development',

    /* -------------- 配置打包文件的入口与出口 (要先引入path模块)--------------- */
    entry: path.join(__dirname, './src/index.js'), // 打包入口文件的路径
    output: {
    
    
        path: path.join(__dirname, './dist'), // 输出文件的存放路径
        filename: 'bundle.js'  // 输出文件的名称
    }
}
  1. npm run dev打包
  2. 在.index.html文件中,重新导入 打包后的输出文件:bundle.js
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <!-- <script src="./index.js"></script> -->
    
        <!-- 引入打包(npm run dev)后的输出文件/dist/main.js -->
        <!-- <script src="../dist/main.js"></script> -->
    
        <!-- 引入打包(npm run dev)后的输出文件/dist/bundle.js -->
        <script src="../dist/bundle.js"></script>
    
    </head>
    <body>
        <ul>
            <li>这是第1个li</li>
            <li>这是第2个li</li>
            <li>这是第3个li</li>
            <li>这是第4个li</li>
            <li>这是第5个li</li>
            <li>这是第6个li</li>
            <li>这是第7个li</li>
            <li>这是第8个li</li>
            <li>这是第9个li</li>
        </ul>
        
    </body>
    </html>
    
  3. 运行index.html文件

配置webpack的自动打包功能

  1. 运行npm install webpack-dev-server -D命令,安装支持项目自动打包的工具
  2. 修改package.json -> scripts中的dev命令如下:
"scripts":{
    
    
    "dev":"webpack-dev-server"
}
  1. 将src -> index.html中,script脚本的引用路径,修改为"/buldle.js"
  2. 运行npm run dev命令,重新进行打包

运行:

在浏览器中访问http://localhost:8080地址,查看自动打包效果
  注意
    webpack-dev-server会启动一个实时打包的http服务器
    webpack-dev-server打包生成的输出文件,默认放到了项目根目录中,而且是虚拟的、看不见的

配置html-webpack-plugin生成预览页面

作用:打开网址后可以直接看到运行效果,不用再去找运行文件了
配置的步骤:
  1、运行npm install html-webpack-plugin -D命令,安装生成预览页面插件
  2、修改webpack.config.js文件头部区域,添加如下配置信息:

//导入生成预览页面的插件,得到一个构造函数
const HtmlWebpackPlugin = require('html-webpack-plugin')
//创建插件的实例对象
const htmlPlugin = new HtmlWebpackPlugin({
    
    
    template:'./src/index.html',//指定要用到的模板文件
    filename:'index.html'//指定生成的文件名称,该文件存在于内存中,在目录中不显示
})

3、修改webpack.config.js文件中向外暴露的配置对象,新增如下配置节点:

module.exports = {
    
    
    plugins:[htmlPlugin]//plugins数组是webpack打包期间会用到的一些插件列表
}

在浏览器中输入 http://localhost:8080/ 就可以看到运行结果了。

配置自动打包相关的参数

在打包npm run dev后, 会自动打开浏览器运行,不需要手动输入网址。

//package.json中的配置
//--open打包完成后自动打开浏览器页面
//--host配置ip信息
//--port配置端口
"scripts":{
    
    
    "dev":"webpack-dev-server --open --host 127.0.0.1 --port 8888"
}, 

猜你喜欢

转载自blog.csdn.net/weixin_50001396/article/details/113140844