Импортировать файл как строку во время компиляции - PullRequest
3 голосов
/ 23 января 2020

Я использую Typescript и Webpack. Можно ли импортировать файл как строку во время компиляции, поэтому мне не нужен файл во время выполнения?

Т.е.

import text from "foo.txt";

const a = text;

скомпилируется в

const a = "contents_of_foo.txt";

1 Ответ

4 голосов
/ 23 января 2020

Webpack имеет концепцию загрузчиков , которые отвечают за загрузку. : -)

Список официальных загрузчиков здесь . Существует raw-loader, который может загружать необработанные файлы в виде строк. После того, как вы настроите его, вы используете его так, как вы показали (хотя в const нет необходимости):

import a from "foo.txt";

Вот конфигурация, которую они показывают по ссылке выше:

// webpack.config.js
module.exports = {
  module: {
    rules: [
      {
        test: /\.txt$/i,
        use: 'raw-loader',
      },
    ],
  },
};

Я не знаю, что это скомпилируется именно с тем, что вы показали, не в последнюю очередь потому, что Webpack не будет дублировать текст между файлами, если вы используете import ... "foo.txt" в нескольких местах. Но он будет обработан для вас, поэтому вам не придется явно читать файл во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...