# 开发loader

# 最简单的例子

一个我能想到的最简单的例子,开发过程中,将比较长的字符串存放在txt文件中,然后由js去读取使用。

# 使用

// index.js
import b from './readme.txt';
console.log(b);

引用一个 txt 文档,然后将文档中的内容给变量 b ,再然后输出

// readme.txt
hello world text

# 配置 loader

配置单个 loader 的时候还是比较简单的,如果后面有需要,再研究下多个 loader 的配置

// package.json
module: {
    rules: [
        {
            test: /\.txt$/,
            use: [
                {
                    loader: path.resolve(__dirname, '..', 'loader', 'testjs.js')
                }
            ]
        }
    ]
}

# 实现

loader 需要返回一个函数, 该函数接受一个参数, 就是文件的字符串内容 (二进制怎么处理?), 然后返回的时候,需要按照 js 文件的格式返回, 如下:

// loader/testjs.js
module.exports = function(a) {
    return `var a = '${a}';export default a;`;
}