当前位置: 首页 > news >正文

苏州教育学会网站建设厦门人才网597人才网

苏州教育学会网站建设,厦门人才网597人才网,北京市公司网站制作,网站要有可留言功能 怎么做目录 1 webpack 基本使用 01 webpack 简介 02 webpack 初体验 2 webpack开发环境配置 03 打包样式资源 04 打包html资源 05 打包图片资源 06 打包其他资源(以打包icon为例) 07 devServer 08.开发环境配置 1 webpack 基本使用 由于笔记文档没有…

目录

1 webpack 基本使用

01 webpack 简介

02 webpack 初体验

2 webpack开发环境配置

03 打包样式资源

04 打包html资源

05 打包图片资源

06 打包其他资源(以打包icon为例)

07 devServer

08.开发环境配置


1 webpack 基本使用

由于笔记文档没有按照之前的md格式书写,所以排版上代码上存在问题😢😢😢😢

01 webpack 简介

初始化文件---包的名字---默认值ok---下载jQuery

02 webpack 初体验

1.webpacvk安装

npm install --save-dev webpack@4.46.0

npm install --save-dev webpack-cli@3

2.运行指令

  • 开发环境

  • 生产环境

3.css不能处理

2 webpack开发环境配置

03 打包样式资源

1 打包css

loader:解析翻译webpack不能识别的模块,loader需要定义配置文件

项目(src)使用的是:ES6

配置 (webpack.config.js) 使用的是:common.js

  1. 配置css-loader   style-loader

 npm i css-loader@3.4.2 style-loader@1.1.3 -D

(如果,安装错误,可能是因为版本过高的问题)

  1. webpack.config.js

JavaScript
/*
  webpack.config.js  webpack
的配置文件
    作用: 指示 webpack 干哪些活(当你运行 webpack 指令时,会加载里面的配置)

    所有构建工具都是基于nodejs平台运行的~模块化默认采用commonjs。
*/

// resolve用来拼接绝对路径的方法
const { resolve } = require('path');

module.exports = {
  // webpack配置
  // 入口起点
  entry: './src/index.js',
  // 输出
  output: {
    // 输出文件名
    filename: 'built.js',
    // 输出路径
    // __dirname nodejs的变量,代表当前文件的目录绝对路径
    path: resolve(__dirname, 'build')
  },
  // loader的配置
  module: {
    rules: [
      // 详细loader配置
      // 不同文件必须配置不同loader处理
      {
        // 匹配哪些文件
        test: /\.css$/,
        // 使用哪些loader进行处理
        use: [
          // use数组中loader执行顺序:从右到左,从下到上 依次执行
          // 创建style标签,将js中的样式资源插入进行,添加到head中生效
          'style-loader',
          // 将css文件变成commonjs模块加载js中,里面内容是样式字符串
          'css-loader'
        ]
      }, 
    ]
  },
  // plugins的配置
  plugins: [
    // 详细plugins的配置
  ],
  // 模式
  mode: 'development', // 开发模式
  // mode: 'production'
}

 

  1. 打包

没有全局安装的用 npx webpack

此时的css也打包进去了

小结一下:

打包过程:首先是入口文件index.js,之后又相关联打包文件eg index.css,可以打包的直接打包,不可以的,需要配置webpack.config.js然后再打包,打包之后的文件到build/built.js,可以在里面代码中找到相关的打包的文件

  1. 是否生效

在build里面新建一个index.html

2 打包less

如果直接打包less,会出现报错,我们需要配置less-loader

  1. 配置less-loader

  1. webpack.config.js

上述代码里面添加

JavaScript
{
        test: /\.less$/,
        use: [
          'style-loader',
          'css-loader',
          'less-loader'
        ]
        
 }

  1. 打包

小结一下:

webpack只能打包js,json,其他的css,less等需要下载loader资源

不同文件配置不同loader处理

04 打包html资源

webpack.config.js基本结构

  1. 下载插件

npm i html-webpack-plugin@3 -D

  1. 引用,使用

  1. 打包

  1. plugins配置

05 打包图片资源

  1. 入口文件引入样式

import './index.less'

html,不用引入,因为插件会自动生成

  1. less里面又引入了图片资源,所以我们需要配置,来打包这个资源
  1. 对样式文件和html文件进行处理

JavaScript
const { resolve } = require('path');
const HtmlWebpackPlungin = require('html-webpack-plugin')

module.exports = {
    entry: './src/index.js',
    output: {
        filename: 'built.js',
        path: resolve(__dirname, 'build')
    },

    module: {
        rules: [
            {
                test: /\.less$/,
                use: [
                    'style-loader',
                    'css-loader',
                    'less-loader'
                ]
            }
        ],
    },
    plugins: [
        new HtmlWebpackPlungin({
            template: './src/index.html'
        })
    ],
    mode: 'development'
}

  1. 打包

会出现错误------图片资源

  1. url 图片处理
  • 1  webpack.config.js配置

  • 2 下载url-loader ,  file-loader

 npm i url-loader@3.0.0 file-loader@5.0.2 -D

  • 3 npx webpack 打包

样式里面的url的图片资源都可以处理,但是默认处理不了html里面的图片,需要下载html-loader

  1. html图片处理
  1. webpack.config.js配置

  1. 下载   npm i html-loader@0.5.5 -D
  1. 打包  npx webpack

打包成功了,但是还是会有问题,页面中图片还是会裂开

问题: 因为url-loader默认使用es6模块化解析,而html-loader引入图片是commonjs

解析时会出问题: [ object Module ]

解决: 关闭url-loaderes6模块化,使用commonjs解析

esModule: false

  1. 图片名过长,更改图片名

06 打包其他资源(以打包icon为例)

步骤:

  1. 阿里图标下载所需要资源代码
  1. index.html引入图标 <span class="iconfont icon-zhaopinqiuzhi"></span>
  1. 入口文件index.js 引入iconfont样式文件  import './iconfont.css'
  1. 写webpack配置

JavaScript
// 打包其他资源(除了html/js/css资源以外的资源)
 {
        // 排除css/js/html资源
        exclude: /\.(css|js|html)$/,
        loader: 'file-loader'
 }

  1. 打包npx webpack

  1. 运行build里面的index.html

07 devServer

  1. webpack配置

  1. 下载  npm i webpack-dev-server@3.10.3 -D
  1. 启动  npx webpack-dev-server

  1. localhost:3000就可以访问尴尬index.html页面内容

  1. 更改代码内容时,终端也会随之改变,localhost里面的内容也会改变,都是自动编译的,就不用像之前,修改完代码,就打包一次(监视源代码)

目录

1 webpack 基本使用

01 webpack 简介

02 webpack 初体验

2 webpack开发环境配置

03 打包样式资源

04 打包html资源

05 打包图片资源

06 打包其他资源(以打包icon为例)

07 devServer

08.开发环境配置


08.开发环境配置

JavaScript
/*
 
开发环境配置:能让代码运行
    运行项目指令:
      webpack 会将打包结果输出出去
      npx webpack-dev-server 只会在内存中编译打包,没有输出
*/

const { resolve } = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  entry: './src/js/index.js',
  output: {
    filename: 'js/built.js',
    path: resolve(__dirname, 'build')
  },
  module: {
    rules: [
      // loader的配置
      {
        // 处理less资源
        test: /\.less$/,
        use: ['style-loader', 'css-loader', 'less-loader']
      },
      {
        // 处理css资源
        test: /\.css$/,
        use: ['style-loader', 'css-loader']
      },
      {
        // 处理图片资源
        test: /\.(jpg|png|gif)$/,
        loader: 'url-loader',
        options: {
          limit: 8 * 1024,
          name: '[hash:10].[ext]',
          // 关闭es6模块化
          esModule: false,
          outputPath: 'imgs'
        }
      },
      {
        // 处理html中img资源
        test: /\.html$/,
        loader: 'html-loader'
      },
      {
        // 处理其他资源
        exclude: /\.(html|js|css|less|jpg|png|gif)/,
        loader: 'file-loader',
        options: {
          name: '[hash:10].[ext]',
          outputPath: 'media'
        }
      }
    ]
  },
  plugins: [
    // plugins的配置
    new HtmlWebpackPlugin({
      template: './src/index.html'
    })
  ],
  mode: 'development',
  devServer: {
    contentBase: resolve(__dirname, 'build'),
    compress: true,
    port: 3000,
    open: true
  }
};

 

补充:

源代码通过webpack编译处理,输出bundle,资源文件就能被浏览器运行

我们就需要搭建这样的环境,我们还加了一些自动化操作,自动打开浏览器,等等

http://www.ritt.cn/news/14707.html

相关文章:

  • 昆山开发区网站制作杭州免费网站制作
  • 网站开发asp软件有哪些西安网站建设排名
  • 有网站是做水果原产地代发的吗cps推广是什么意思
  • 徐州网站制作需要多少钱上海推广seo
  • 网站新闻不添加关键词超链接对优化有影响吗个人模板建站
  • 网站建设创意公司关键词上首页的有效方法
  • 高端的的网站建设公司搜索引擎营销流程是什么?
  • 东莞网站建设案例四川网络推广seo
  • 如何建立一个网站并运行网址链接
  • 响应式网站案例点击精灵seo
  • 网站搭建完手机访问seo关键词排名优化品牌
  • 手机网站怎么做单页面关键词排名零芯互联关键词
  • 营销型网站建设易网拓杭州seo关键字优化
  • 徐州企业制作网站全国网站排名
  • 智能建网站软件seo北京公司
  • 做汽车配件出口用什么网站好些山西seo顾问
  • 宜丰做网站的做竞价推广这个工作怎么样
  • 公司网站维护费怎么做分录企业网址怎么申请
  • 做旅游攻略的网站代码被国家禁止访问的网站怎么打开
  • css3做的网站成都网站快速排名
  • 电子商务网站建设与管理王生春现在最火的推广平台有哪些
  • 做公司网站要营业执照吗百度客服电话号码
  • 怎么做代购彩票网站seo点石论坛
  • 拖拽建设网站源码东莞优化疫情防控措施
  • 丽水山耕品牌建设网站有什么推广软件
  • 电商网购网站怎么做2024年最新一轮阳性症状
  • 专业做网站推广的公司2022年列入传销组织最新骗法
  • 做网站一直不知道做什么网站百度投诉中心电话
  • 网站建站建设媒体平台推广
  • 怎么成立网站上海seo推广外包