Я
Size: a a a
Я
const rootPath = /* путь к корню проекта - точно корректный */,Вызов роллапа соответственно
distPath = path.resolve(rootPath, 'dist/'),
mainModule = 'main.js';
const inputOpts = {
// (1) уже использую абсолютный путь в энтри, чтобы наверняка...
input: path.resolve(rootPath, 'src/scripts/', mainModule),
};
const outputOpts = {
dir: distPath,
format: 'iife',
sourcemap: isDev,
plugins: [
nodeResolve({
// (2) ...и попробовал явно указывать корневой путь плагину
rootDir: path.resolve(rootPath, 'src/scripts/'),
}),
commonJs(),
],
};
const bundle = await rollup(inputOpts),, и при содержимом main.js
{ output } = await bundle.generate(outputOpts);
import './modules'; // импортирую ./modules/index.js, он естьстранная ошибка
Error: Could not resolve './modules' from src/scripts/main.js
, как будто нод-резолв не отрабатывает вовсе. import './modules/index.js';), то все работает корректно, т.к. путь становится понятным роллапу, плагин уже не участвует.src/ является относительным, то node-resolve отрабатывает корректно даже без указания rootDir.rootDir, но вроде все сделал по ридми...Я
package.json все по-дефолту, без всяких странных настроек.src/ относительный, так что проблемы со стороны esm-обертки думаю можно исключить (тем более что она "прозрачная").YK
YK
Я
@rollup/plugin-node-resolve - проблема была в том что я как олень не в тот объект засунул параметр plugins конфига 🤦♂️ и плагин просто не применялся на этапе бандлинга. Соотв., решение в том же случае выглядит подобным образом:const inputOpts = {
input: path.resolve(rootPath, 'src/scripts/', mainModule),
};
const outputOpts = {
dir: distPath,
format: 'iife',
sourcemap: sourceMap,
};
const pluginOpts = {
plugins: [
nodeResolve({ rootDir: scriptsPath }),
commonJs(),
],
};
// ....
const bundle = await rollup({ ...inputOpts, ...pluginOpts }),VC
Я
manifest.json, и надо чекать то что остается... а именно - выполнение кода сервисворкера (используя удаленную отладку).VC
PD