【问题标题】:webpack function usage after bundling打包后的 webpack 功能使用
【发布时间】:2020-08-06 11:42:23
【问题描述】:

我尝试打包 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 测试文件可以在 node 上正常工作

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)
})

【问题讨论】:

    标签: javascript node.js webpack bundle


    【解决方案1】:

    尝试添加

    node: {
       fs: "empty"
    }
    

    fs 模块未在浏览器中定义。 也许这就是停止创建 deserialize 的原因。试试看。

    【讨论】:

    • 我试过了,但那个解决方案没有给我一些效果。有时当我用 fs 构建项目时,我得到 Module not found: Error: Can't resolve 'fs' - node.js.Your solution help修复它。但在这种情况下,项目构建良好。
    猜你喜欢
    • 2017-07-01
    • 1970-01-01
    • 2016-03-28
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 2011-08-02
    • 1970-01-01
    相关资源
    最近更新 更多