Webpack 插件 raw-loader,可将代码文件导出为字符串模板

A loader for webpack that allows importing files as a String.

webpack的加载程序,允许将文件作为字符串导入。

  • 本篇测试的文件类型有 .vue.txt.js文件
  • 注意必须是 Webpack 4.x 或 5.x
  • Github 地址
  • 安装 npm i raw-loader -D
  • 可使用 importrequire 两种方式

使用

import 方式

主题文件路径前添加 !!raw-loader!

import vueStr from '!!raw-loader!./slider.vue'
import txt from '!!raw-loader!/public/test.txt'
import jsStr from '!!raw-loader!/public/test.js'

console.log(vueStr);
console.log(txt);
console.log(jsStr);

require 方式

主题文件路径前添加 !!raw-loader!,且使用 .default

let vueStr = require(`!!raw-loader!./slider.vue`).default;
let txt = require(`!!raw-loader!/public/test.txt`).default;
let jsStr = require(`!!raw-loader!/public/test.js`).default;

console.log(vueStr);
console.log(txt);
console.log(jsStr);

配置

默认不用配置,但如果你使用的是 CommonJS模块语法。需要做如下配置

// webpack.config.js
module.exports = {
  module: {
    rules: [
      {
        test: /\.txt$/i,
        use: [
          {
            loader: 'raw-loader',
            options: {
              esModule: false,
            },
          },
        ],
      },
    ],
  },
};
// vue.config.js
module.exports = {   
    chainWebpack(config) {
        config.module.rule('txt').test(/\.txt$/).use('raw-loader').loader('raw-loader').end();
    }    
};

效果

源文件

在这里插入图片描述

控制台输出字符串模板,一般用户前端文档显示源码。

在这里插入图片描述

PS:如果想使用 vite 方式,请参考

《Vite 使用 ?raw 将 vue文件转为字符串(两种方式)》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值