Исходные карты не загружены/не обнаружены из пакета NPM, импортированного в приложение create-реагировать

Я использую create-react-app для разработки повторно используемых компонентов React, которые могут быть импортированы индивидуально в другие проекты (эти проекты, как правило, также будут проектами создания-реагирования-приложений). Я использую Gulp для создания файлов, которые будут использоваться, используя комбинацию gulp-sourcemaps и gulp-babel, т.е.

gulp.task("build:lib", function () {
let js = gulp.src([ "./src/**/*.js", "!./src/index.js"])
             .pipe(sourcemaps.init())
             .pipe(babel({presets:["react-app"]}))
             .pipe(sourcemaps.write("."}))
             .pipe(gulp.dest("lib"));

Я вижу, что файлы .js.map успешно создаются и что в выходных файлах есть комментарий, указывающий на существование исходной карты, например:

//# sourceMappingURL=Create.js.map

Проблема, с которой я сталкиваюсь, заключается в том, что когда файлы импортируются в потребляющий проект, я не вижу исходный источник, отображаемый в инструментах разработчика браузера, однако при наведении курсора на файл (на вкладке источников в Chrome, в «webpack:// "дерево) вижу всплывающую подсказку:

Create.js (из исходной карты)

Поэтому я не могу сказать, действительно ли я неправильно генерирую исходные карты или это просто конфигурация webpack-dev-server, используемая create-react-app, не обслуживает файлы .js.map (я, конечно, не не вижу их в дереве webpack:// на вкладке источников в Chrome, но я не уверен, ожидал бы я этого или нет).

Будем очень признательны за любые советы о том, неверен ли мой скрипт gulp или о том, что должен поддерживать create-react-app/webpack-dev-server.

Я прочитал документацию для gulp-sourcemaps и пробовал многие из варианты, но безуспешно.


person Dave Draper    schedule 27.03.2017    source источник


Ответы (1)


На самом деле я сам нашел решение этой проблемы. Я преобразовал свою задачу Gulp для создания исходных карт inline (что не должно быть проблемой для приложения-потребителя, потому что, поскольку оно встроено в качестве комментария, оно будет удалено из файла дистрибутива во время сборки).

Еще мне нужно было преобразовать конфигурацию devtools в create-react-app с cheap-module-source-map на eval (к сожалению, для этого требуется извлечение). Однако это, по крайней мере, решает проблему.

person Dave Draper    schedule 27.03.2017