Я работаю с 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. Затем, когда я хочу установить свою геометрию, я могу импортировать конкретную строку и преобразовать ее в геометрию?