2

我想在我的 react js 项目中使用raw-loader 。我正在使用react-app-rewired库和 config-overrides.js。

当我导入文件时,我希望收到它的内容。相反,我收到了文件的路径。

App.js

import toolboxsrc from './Blockly/toolbox.xml.raw';
....

// setting a prop of a component
toolboxsrc={toolboxsrc}

~ ~ ~ ~ ~
config-overrides.js

module.exports = function override(config, env) {    
    config.module.rules.push (
          {
            test: /\.raw$/i,
            loader: 'raw-loader',
          }
    )

    return config;
}

我正在使用命令 "start": "react-app-rewired start --scripts-version react-scripts"

编译中没有错误,但是 prop 被设置为/static/media/toolbox.xml.93a6d25d.raw而不是文件的期望内容。

谢谢!

4

1 回答 1

1

我找到的解决方案是在源代码中添加一个原始加载器指令。这也需要一个编译时指令:

/* eslint import/no-webpack-loader-syntax: off */
import textFile from '!!raw-loader!./assets/textFile.txt';
于 2020-01-10T10:17:22.597 回答