為 require() 新增新擴充套件
你可以通過擴充套件 require.extensions
向 require()
新增新擴充套件。
對於 XML 示例:
// Add .xml for require()
require.extensions['.xml'] = (module, filename) => {
const fs = require('fs')
const xml2js = require('xml2js')
module.exports = (callback) => {
// Read required file.
fs.readFile(filename, 'utf8', (err, data) => {
if (err) {
callback(err)
return
}
// Parse it.
xml2js.parseString(data, (err, result) => {
callback(null, result)
})
})
}
}
如果 hello.xml
的內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<foo>
<bar>baz</bar>
<qux />
</foo>
你可以通過 require()
閱讀和解析它:
require('./hello')((err, xml) {
if (err)
throw err;
console.log(err);
})
它列印 { foo: { bar: [ 'baz' ], qux: [ '' ] } }
。