Правильный способ импорта библиотеки threejs в проект webpack - PullRequest
0 голосов
/ 07 июня 2019

У меня проблемы с импортом пользовательской библиотеки threejs в мой проект, управляемый webpacke.

Итак, моя идея состояла в том, чтобы подключить библиотеку вот так

global.THREE = require("path_to_lib/three.js");

, а затем использовать ее в моем коде.

проблема в том, что я не понимаю, как правильноЧтобы загрузить код, который имеет «код префикса загрузки», подобный этому

(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
    typeof define === 'function' && define.amd ? define(['exports'], factory) :
    (global = global || self, factory(global.THREE = {}));
}(global, function (exports) { 'use strict'; <the actual code I need>}))

, проблема заключается в том, что когда я использую нормальное значение require , это ключевое слово указывает на объект empry, в то время какЯ хотел бы, чтобы он указывал на объект окна.

выполнение чего-то подобного не работает и для меня

var THREE = require.bind(this, "path_to_lib/three.js")

, поскольку оно генерирует предупреждение.

Iтакже попытался использовать плагин для загрузки пакетов в веб-пакете, он определенно что-то изменил.Он определяет «экспорт» и запускает эту часть «префикса загрузки»

typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports)

вместо этой

global = global || self, factory(global.THREE = {})

Это способ передать область, которую я хотел бы связать ТРИк?Или лучший способ сделать то, что я пытаюсь сделать?

...