四时宝库

程序员的知识宝库

webpack之webpack loaders(full webpack是什么软件)

webpack之webpack loaders

Loaders

webpack默认只能处理js文件,其他文件都需要交给相应的loader来处理。webpack 可以使用 loader 来预处理文件。这允许你打包除 JavaScript 之外的任何静态资源。

Loader特性

  • loader 支持链式传递。loader 链中的第一个 loader 返回值给下一个 loader。在最后一个 loader,返回 webpack 所预期的 JavaScript。
  • loader 可以是同步的,也可以是异步的。
  • loader 运行在 Node.js 中,并且能够执行任何可能的操作。
  • loader 接收查询参数。用于对 loader 传递配置。
  • loader 也能够使用 options 对象进行配置。
  • 插件(plugin)可以为 loader 带来更多特性。
  • loader 能够产生额外的任意文件。

Loader的使用

有三种使用loader的方式:

- **配置(推荐)**:在`webpack.config.js`文件中指定loader。
- 内联:在每个`import`语句中显式指定loader。[](https://doc.webpack-china.org/concepts/loaders)
- CLI:在shell命令中指定它们。[](https://doc.webpack-china.org/concepts/loaders#cli)

配置方法:

  1. 安装需要的loder
npm i --save-dev css-loder
  1. 在webpack.config.js文件中配置
module.exports = {
 module: {
 rules: [
 //.css文件使用css-loader
 { test: /\.css$/, use: 'css-loader' },
 //.ts文件使用ts-loader
 { test: /\.ts$/, use: 'ts-loader' }
 ]
 }
};

常用的Loaders

文件

  • url-loader 像 file loader 一样工作,但如果文件小于限制,可以返回 data URL
  • file-loader 将文件发送到输出文件夹,并返回(相对)URL

JSON

  • json-loader 加载 JSON 文件(默认包含

转换编译(Transpiling)

  • babel-loader 加载 ES2015+ 代码,然后使用 Babel 转译为 ES5

模板(Templating)

  • html-loader 导出 HTML 为字符串,需要引用静态资源
  • markdown-loader 将 Markdown 转译为 HTML
  • react-markdown-loader 使用 markdown-parse parser(解析器) 将 Markdown 编译为 React 组件
  • handlebars-loader 将 Handlebars 转移为 HTML
  • markup-inline-loader 将内联的 SVG/MathML 文件转换为 HTML。在应用于图标字体,或将 CSS 动画应用于 SVG 时非常有用。

样式

  • style-loader 将模块的导出作为样式添加到 DOM 中
  • css-loader 解析 CSS 文件后,使用 import 加载,并且返回 CSS 代码
  • less-loader 加载和转译 LESS 文件
  • sass-loader 加载和转译 SASS/SCSS 文件

框架(Frameworks)

  • vue-loader 加载和转译 Vue 组件
  • angular2-template-loader 加载和转译 Angular 组件

更多第三方 loader,查看 awesome-webpack 列表

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接