использование функции webpack после сборки - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь упаковать эту https://www.npmjs.com/package/@jscad / dxf-deserializer библиотеку и использовать ее в браузере. Uage из узла выглядит так:

const deSerializer = require('@jscad/dxf-deserializer')
const rawData = fs.readFileSync('PATH/TO/file.dxf')
const jscadCode = deSerializer(rawData)

Как мне использовать это сейчас после связывания сценария пакета?

Я пробовал

let objs = deserialize(fileText,'square10x10',{output: 'csg'})

и получил

ReferenceError: deserialize is not defined

Есть js тестовый файл отлично работает с нодой

const fs = require('fs')
const path = require('path')
const test = require('ava')
const { CSG, CAG } = require('@jscad/csg')

const { nearlyEqual } = require( '../../../test/helpers/nearlyEqual' )

const { deserialize } = require( '../index' )

const samples = path.resolve('../../node_modules/@jscad/sample-files')

//
// Test suite for DXF deserialization (import)
//
test('ASCII DXF from Bourke 3D Entities to Object Conversion', t => {
  //const dxfPath = path.resolve(__dirname, '../../../../sample-files/dxf/bourke/3d-entities.dxf')
  const dxfPath = path.resolve(samples, 'dxf/bourke/3d-entities.dxf')
  t.deepEqual(true, fs.existsSync(dxfPath))

  let dxf = fs.readFileSync(dxfPath, 'UTF8')
  let objs = deserialize(dxf,'aaa',{output: 'objects'})

// expect one layer, containing 2 objects (CSG, and Line3D)
  t.true(Array.isArray(objs))
  t.is(objs.length,2)
})

1 Ответ

0 голосов
/ 06 августа 2020

Попробуйте добавить

node: {
   fs: "empty"
}

fs модуль не определен в браузере. Может быть для этого и была создана остановка deserialize. С попыткой.

...