webpack入门(二)资源管理

在我们的正常项目中,前端会有一些其他资源,比如图像、CSS、JSON、字体现在我们整合一些其他资源,看看webpack是如何处理
webpack最出色的功能之一就是除了js文件,还可以通过loader的方式引入其他任何类型的文件
我们先简单的介绍一下loader的概念
loader让webpack能够去处理那些非js文件(webpack自身只能理解javascript),loader可以将所有类型的文件转换为webpack能够处理的有效模块,然后就可以利用webpack的打包能力,对他们进行处理
我在demo2中进行操作
省去webpack的基本安装步骤,具体见一webpack入门(一)基本配置

1.加载CSS
为了从JavaScript中import一个CSS文件,需要安装并添加style-loader和css-loader
终端输入命令  npm install --save-dev style-loader css-loader

然后如下图在webpack.config.js,module中配置

接着看下/src/index.css

看下/src/index.js文件对css的导入

然后终端执行npm run build,在页面能看到效果

2.加载图片、字体

图片、字体使用 file-loader,我们可以轻松地将这些内容混合到 CSS 中,终端执 npm install --save-dev file-loader

然后如下图在webpack.config.js,module中配置增加

{
        test: /\.(png|svg|jpg|gif)$/,
         use: [
           ‘file-loader‘
         ]
   },

{

test: /\.(woff|woff2|eot|ttf|otf)$/,

use: [

‘file-loader‘

]

}

 

看下现在我在 接着看下/src/index.css修改的样式

@font-face {
    font-family: ‘MyFont‘;
    src:  url(‘./my-font.ttf‘) format(‘truetype‘);
    font-weight: 600;
    font-style: normal;
    }
.hello{
    color:red;
    background: url(./timg.jpg);
    font-size:30px;
    font-family: ‘MyFont‘;
    background-size:20%;
    width:400px;
}

并且在src目录下放入字体和图片文件如下图

然后在终端执行npm run build ,如无意外我们将看到/dist目录下新增的处理过后的图片和字体文件

看下我们页面的效果,审查元素发现css和htnl中引用的都是webpack处理过后的文件

 

 3.加载数据

数据文件:JSON ,CSV、TSV 和 XML,类似于 NodeJS,JSON 支持实际上是内置的,也就是说 import Data from ‘./data.json‘ 默认将正常运行。要导入 CSV、TSV 和 XML,你可以使用 csv-loader 和 xml-loader让我们处理这三类文件,这里我用xml举例

终端执行npm install --save-dev csv-loader xml-loader,然后如下图在webpack.config.js,module中配置增加

 {
                  test: /\.xml$/,
                  use: [
                    ‘xml-loader‘
                  ]
   }

在/src下增加如下图的数据文件,文件内容省略

看下我们的/src/index.js

在终端执行npm run build,一切正常

看下页面控制台打印,数据正常打印

总结一下,只要安装了对应的loader,并且在webpack,config.js中添加相应模块webpack就能对我们各种的资源进行打包处理了,但是同时发现有两点:每次修改后都要执行npm run build并且刷新页面和麻烦、每次执行npm run build后/dist之前的文件还存在,我将在后面的博客更新相关的处理

原文地址:https://www.cnblogs.com/lxyjoice/p/11971962.html

时间: 2024-10-30 22:48:20

webpack入门(二)资源管理的相关文章

webpack 入门 - (三)

基于 webpack 入门 - (二) 实现交互式的工具 ,,即 一问一答 1.寻找合适的询问插件 let inquirer = require('inquirer') 2.index.js代码实现如下: #!/usr/bin/env node //需求 命令行 mycli create -t vue -n shop 创造vue模板的项目,项目名称为shop let createProject = require('./createProject') let path = require('pa

(二)webpack入门——webpack的使用

上一篇文章 (一)webpack入门——webpack的安装 中,我们知道了webpack的安装,接下来我们要学习如何使用webpack. 以下内容来自webpack文档(不是直译): http://webpack.github.io/docs/usage.html 简单的webpack使用   创建一个模块化的Javascript项目 创建一个文件件,在文件夹里面创建两个js文件,分别命名为cats.js.app.js,并使用CommonJs语法来创建文件内容. cats.js文件内容: va

React +ES6 +Webpack入门

React +ES6 +Webpack入门 React已成为前端当下最热门的前端框架之一 , 其虚拟DOM和组件化开发让前端开发更富灵活性,而Webpack凭借它异步加载和可分离打包等优秀的特性,更为React的开发提供了便利.其优秀的特性不再赘述.本文将详细的记录react babel webpack的环境搭建,以及搭建的过程中遇到的一些坑. 一.新建React项目 1.如图为新建react项目结构,其中 entry.js放置react入口代码,index.js放置react组件代码,asse

DevExpress XtraReports 入门二 创建 data-aware(数据感知) 报表

原文:DevExpress XtraReports 入门二 创建 data-aware(数据感知) 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪费时间才写的这篇文章,高手不想的看请路过 本文内容来DevExpress XtraReports帮助文档,如看过类似的请略过. 废话少说 开始正事 一.创建应用程序并添加报表 启动 MS Visual Studio (2005.2008.或 2010). 在 Visua

webpack入门(四)——webpack loader 和plugin

什么是loader loaders是你用在app源码上的转换元件.他们是用node.js运行的,把源文件作为参数,返回新的资源的函数. 例如,你可以用loaders告诉webpack加载 coffeeScript或者JSX. loaders 特点: 1. 可以链式拼接.他们用在通向文件的管道,最后一个loader预期返回一个javascript,其它Loader可以返回任意格式给下一个loader. 2. loaders可以是同步的,也可以是异步的. 3. loaders是用node.js来跑,

webpack入门——webpack的安装与使用

一.简介 1.什么是webpack webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来使用和处理. 我们可以直接使用 require(XXX) 的形式来引入各模块,即使它们可能需要经过编译(比如JSX和sass),但我们无须在上面花费太多心思,因为 webpack 有着各种健全的加载器(loader)在默默处理这些事情,这块我们后续会提到. 你可以不打算将其用在你的项目上,但没有理由不去掌握它,

(一)webpack入门——webpack的安装

在看webpack官方文档的主页的时候,看着看着就想放弃 ,英文读起来吃力,也不知道webpack到底是用来干什么的.在之前虽然从别人那里知道webpack是现在很流行的前端构建工具,只是一个概念而已,具体不知道到底是干嘛,怎么用等等.然而在扫了几眼主页的时候还是不知道他用了干嘛的,真的放弃过,后来还是想想硬着头皮看吧.在自己的努力下总算明白了一些,下面将自己从官网学到的记录下来.至于webpack是什么,慢慢跟着我来动手,你就能理解他是什么了. 这篇文章的以下内容来自官方文档(不是直译,也有自

webpack入门(转载-http://www.codesec.net/view/173032.html)

什么是 webpack? webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来使用和处理. 我们可以直接使用 require(XXX) 的形式来引入各模块,即使它们可能需要经过编译(比如JSX和sass),但我们无须在上面花费太多心思,因为 webpack 有着各种健全的加载器(loader)在默默处理这些事情,这块我们后续会提到. 你可以不打算将其用在你的项目上,但没有理由不去掌握它,因为以近期

webpack入门教程之Hello webpack(一)

webpack入门教程系列为官网Tutorials的个人译文,旨在给予想要学习webpack的小伙伴一个另外的途径.如有不当之处,请大家指出. 看完入门教程系列后,你将会学习到如下内容: 1.如何安装webpack 2.如何使用webpack 3.如何使用loaders 4.如何使用开发服务器 话不多说,马上开启我们的webpack之旅...... 一.安装webpack(依赖nodeJs环境,nodejs环境的搭建不在此赘述) npm install webpack -g 二. Hello W