ES6 импортирует только то, что я прошу, а не весь файл - PullRequest
0 голосов
/ 20 февраля 2020

Этот вопрос может быть дубликатом этого вопроса , однако мои настройки и контекст отличаются.

Настройка :

  • Я использую 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 в скомпилированный файл.

Вопросы :

  • Есть ли способ предотвратить это нежелательное включение? Я хочу, чтобы эта базовая версия была легче.
  • Я думаю, что, возможно, мне следует сначала сделать базовую версию и расширить ее до полной версии, это лучший способ? Это единственный способ?

Спасибо

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