Этот вопрос может быть дубликатом этого вопроса , однако мои настройки и контекст отличаются.
Настройка :
- Я использую rollup, rollup-plugin-terser, rollup-plugin-buble, rollup-plugin- json (и другие очистки и прочее).
- Я делаю под-версии того же объекта.
Сценарий заполнен. js имеет все это.
// the full version script-full.js
import myClass from './myClass.js'
import myObject from './myObject.js'
import otherFunction from './functions.js'
const props1 = ['p1','p2'...] // a very long array
export function doSomeStuff(prop){
// do some magic with myObject
myObject[prop] = function(prop){
// nothing important or related to the specifics of this file
otherFunction(prop)
}
}
export const myOps1 = {
props: props1,
fn: doSomeStuff
}
export default new myClass(myOps1)
База сценариев . js имеет его собственные реквизиты .
// the base version script-base.js
import myClass from './myClass.js'
import {doSomeStuff} from './script-full.js'
const props2 = ['p1','p2'] // a short array
export const myOps2 = {
props: props2,
fn: doSomeStuff
}
export default new myClass(myOps2)
Теперь накопительный пакет данных позаботится обо мне:
index-full. js
export script1 from './script-full.js'
index-base. js
export script2 from './script-base.js'
Проблема
До базы сценариев . js, в накопительный пакет также будет включен весь файл из script-full. js в скомпилированный файл.
Вопросы :
- Есть ли способ предотвратить это нежелательное включение? Я хочу, чтобы эта базовая версия была легче.
- Я думаю, что, возможно, мне следует сначала сделать базовую версию и расширить ее до полной версии, это лучший способ? Это единственный способ?
Спасибо