Я пытаюсь использовать рабочий ящик в своем приложении Ionic 3. Что я сделал, так это добавил плагин InjectManifest
к конфигам dev и prod WebPack в Ionic AppScripts, но при выполнении процесса сборки Ionic походит на ожидание файла исходной карты, который не генерируется плагином Workbox, поэтому я получаю следующееошибка.
Error: ENOENT: no such file or directory, open
'/Users/cristian/App/www/build/precache-manifest.99a3c24b1cf309d6c2afc8e795f628d8.js.map'
in undefined at line undefined, col undefined, pos undefined
Error: ENOENT: no such file or directory, open '/Users/cristian/App/www/build/precache-manifest.99a3c24b1cf309d6c2afc8e795f628d8.js.map' in undefined at line undefined, col undefined, pos undefined
at new BuildError (/Users/cristian/App/node_modules/@ionic/app-scripts/dist/util/errors.js:16:28)
at taskReject (/Users/cristian/App/node_modules/@ionic/app-scripts/dist/worker-process.js:36:22)
at /Users/cristian/App/node_modules/@ionic/app-scripts/dist/worker-process.js:14:13
at <anonymous>
Error
at new SubprocessError (/Users/cristian/.config/yarn/global/node_modules/@ionic/utils-subprocess/dist/index.js:40:23)
at ChildProcess.p.on (/Users/cristian/.config/yarn/global/node_modules/@ionic/utils-subprocess/dist/index.js:124:27)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at maybeClose (internal/child_process.js:915:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
Конфигурация плагина Workbox находится здесь.
const WorkboxPlugin = require('workbox-webpack-plugin');
const { dev, prod } = require('@ionic/app-scripts/config/webpack.config');
const plugin = new WorkboxPlugin.InjectManifest({
importWorkboxFrom: 'disabled',
globDirectory: 'www',
globPatterns: [
'assets/fonts/*',
'build/**/*',
'index.html',
'manifest.json'
],
swSrc: 'src/service-worker.js',
swDest: '../service-worker.js',
})
dev.plugins.push(plugin);
prod.plugins.push(plugin);
precache-manifest.[hash].js
генерируется правильно и внедряется в рабочий файл службы, но процесс сборки Ionic продолжает вызывать ошибкуиз-за этого отсутствующего файла .map.
Есть предложения? Я искал какой-нибудь способ создания исходной карты для файла precache-manifest
, но я ничего не нашел.
Заранее спасибо