2

是否有如何在浏览器页面中包含 xml2js 的示例?

每个 xml2js https://github.com/Leonidas-from-XIV/node-xml2js/issues/215

“随着最近的变化,xml2js 应该可以在浏览器中正常工作。

一个简单的包含似乎不起作用:

<script type="text/javascript" src="/dist/xml2js.js"></script>

因为它产生错误

Uncaught ReferenceError: require is not defined

是否需要运行 browserify 来创建要包含的单个文件?

4

1 回答 1

2

从理论上讲,它应该按照https://github.com/Leonidas-from-XIV/node-xml2js/issues/277browserify中的讨论工作(“pietersv 于 2017 年 11 月 2 日发表评论”)。

引用:

将以下两个脚本添加到 package.json 并在运行 npm test 后运行它们:

"browserify": "browserify ./xml2js.js  -s xml2js -o ./xml2js.js",
"minify": "cat ./xml2js.js  | uglifyjs > ./xml2js.min.js"

在 HTML 中

<script type="text/javascript" src="/path/to/xml2js.min.js"></script>
<script>
    var xml = '<?xml version="1.0" encoding="UTF-8"?><note>Lorem ipsum dolor sit amet...</note>'
    var obj = xml2js.parseString(xml, function(err, res) { ... })
</script>

但是,截至今天(30.7.18),如后续评论(由我!)中所述,当前版本(0.4.19)无法使用。

相反,我使用了https://www.npmjs.com/package/xml-js并浏览了它(在package.json是:

"buildxml2js": "./node_modules/.bin/browserify ./node_modules/xml-js/dist/xml-js.js -o ./public/lib/xml-js.js")

它很有魅力。将其构建为./public/lib/xml-js.jsdir 后,将其添加到 html:

<script type="text/javascript" src="/lib/xml-js.js"></script>

然后调用:

xml2json(the_xml)

json2xml(the_json)

抱歉,这实际上并不能解决您的具体问题,但它提供了一个可行的解决方法。

于 2018-07-31T05:11:08.457 回答