一、loader
官方定义:
Loaders就是对一个模块源码的转换。它们可以在引入或加载文件时对文件进行预处理。因此loaders有点像其他构建工具中的tasks(任务),可以提供一种有力的方式去处理前端构建步骤。Loaders可以将一种不同类型的语言(比如TypeScript)转换为JavaScript,或者将内嵌图片转换为 data URLs。甚至可以在JavaScript模块中直接引入CSS文件。
loader就是一个node模块,它输出了一个函数。当某种资源需要用这个loader转换时,这个函数会被调用。并且,这个函数可以通过提供给它的this上下文访问Loader API。
开始编写一个简单的loader吧!
取名为reverse-txt-loader,功能就是对txt文件的内容反转。创建一个test.txt,内容为abcde。
要注意的一点是:loader的执行顺序是和本身的顺序是相反的,即最后一个loader最先执行,第一个loader最后执行。
在webpack中使用:
{
test:/\.txt$/,
use:[{
{
loader:'loader文件的路径'
}
}]
}
reverse-txt-loader.js
module.exports = function(src) {
//src是原文件内容(abcde),下面对内容进行处理,这里是反转
var result = src.split('').reverse().join(''); //edcba
//返回JavaScript