Как использовать загрузчик Webpack для преобразования файла STL в объект Geometry? - PullRequest
0 голосов
/ 23 октября 2019

Я работаю с STL-файлами в своем коде, где я загружаю их с Three.js и преобразую их в геометрии, чтобы добавить в мой проект. Чтобы сэкономить место, я хотел бы загрузить эти STL-файлы в процесс сборки моего веб-пакета, чтобы веб-пакет преобразовывал их непосредственно в объект THREE.Geometry сразу при сборке, чтобы пользователям не нужно было загружать большиеФайлы STL отдельно.

Пока это то, что у меня есть:

У меня есть файл с именем stlToJsonLoader.js:

import { STLLoader } from './STLLoader.js';

const stlLoader = new STLLoader;

module.exports = function(source) {
  stlLoader.load(source, function (geometry) {
    return geometry
  });
}

Я импортирую ТРИ.js STLLoader и использование его для преобразования файла stl, переданного функции, в геометрический объект, который я затем хотел бы использовать в веб-пакете. T

Вот мой webpack.config.js:

module.exports = {
  entry: './src/app.js',
  output: {
    filename: './bundle.js'
  },
  module: {

    rules: [{
      test: /\.stl/,
      use: [{ loader: 'stlToJsonLoader' }]
    }]

  }
};

В этом случае я хотел бы получить webpack, чтобы найти все stl-файлы в моем каталоге (они все вstl ') и запустите их через мой загрузчик.

Затем в своем основном коде, где я хочу использовать объект геометрии, я делаю это:

import topArm from './stl/topArm.stl';
import botArm from './stl/bottomArm.stl';
import wheel from './stl/wheel.stl';
import knuckle from './stl/knuckle.stl';
import frameObj from './stl/Frame.stl';

Так что я ожидаю каждого изэти импортированные объекты (topArm, botArm и т. д.) являются геометрическими объектами, которые я могу напрямую использовать и применять к сетке.

Когда я запускаю Webpack, я получаю эту ошибку:

ERROR in ./src/modules/Model.js
Module not found: Error: Can't resolve './stl/Frame.stl'

эта ошибка возникает для всех импортируемых STL-файлов.

Я не уверен, в чем я ошибаюсь?

Я думаю, что на самом деле функция загрузчика должна бытьвозвращая строку из того, что я прочитал. Поэтому, возможно, мне следует преобразовать файл STL в JSON и вернуть эту строку JSON. Затем, когда я хочу установить свою геометрию, я могу импортировать конкретную строку и преобразовать ее в геометрию?

...