将“香草”Javascript 库加载到 Node.js = 'Unexpected token export'
Load “Vanilla” Javascript Libraries into Node.js = 'Unexpected token export'
基于相关问题: Load "Vanilla" Javascript Libraries into Node.js
我正在尝试使用 Chris W. 在上述问题中描述的方法将 'Vanilla' Javascript 库 'rsa.js' 加载到 NodeJS 中。本质上,我创建了一个自定义 node_modules 目录,如下所示:
./node_modules/rsa/rsa-lib/rsa.js
./node_modules/rsa/rsa-lib/README
./node_modules/rsa/index.js
唯一的问题是,编译模块在 rsa.js 的最后一行失败:
undefined:836
export default rsa;
SyntaxError: Unexpected token export
rsa.js
var rsa = {};
(function(rsa) {
...
})(rsa);
console.log("rsa",rsa);
export default rsa;
index.js
var fs = require('fs');
// Read and eval library
filedata = fs.readFileSync('./node_modules/rsa/rsa-lib/rsa.js','utf8');
eval(filedata);
/* The rsa.js file defines a class 'rsa' which is all we want to export */
exports.rsa = rsa
有什么解决这个问题的建议吗?
错误'Unexpected token export'是因为库正在使用
export default thingToExport;
而不是
module.exports = thingToExport
这是 Node 不支持的 ES6 功能(目前),因此当 Node 尝试 运行 代码时,它会抛出错误。
如何解决: 尝试修改库的最后一行,使其显示为 module.exports = rsa;
。
不过,我要补充一点,eval
并不是将库加载到您自己的代码中的好方法。这就是 require
的用途。如果您使用 npm i
安装了这个库并且它在您的 node_modules 中,您应该能够使用 var rsa = require('rsa');
将它加载到您的代码中。
同样,如果您不转译代码,export default
可能会出现问题,因此您可能希望以任何一种方式将其更改为 module.exports
。
基于相关问题: Load "Vanilla" Javascript Libraries into Node.js
我正在尝试使用 Chris W. 在上述问题中描述的方法将 'Vanilla' Javascript 库 'rsa.js' 加载到 NodeJS 中。本质上,我创建了一个自定义 node_modules 目录,如下所示:
./node_modules/rsa/rsa-lib/rsa.js
./node_modules/rsa/rsa-lib/README
./node_modules/rsa/index.js
唯一的问题是,编译模块在 rsa.js 的最后一行失败:
undefined:836
export default rsa;
SyntaxError: Unexpected token export
rsa.js
var rsa = {};
(function(rsa) {
...
})(rsa);
console.log("rsa",rsa);
export default rsa;
index.js
var fs = require('fs');
// Read and eval library
filedata = fs.readFileSync('./node_modules/rsa/rsa-lib/rsa.js','utf8');
eval(filedata);
/* The rsa.js file defines a class 'rsa' which is all we want to export */
exports.rsa = rsa
有什么解决这个问题的建议吗?
错误'Unexpected token export'是因为库正在使用
export default thingToExport;
而不是
module.exports = thingToExport
这是 Node 不支持的 ES6 功能(目前),因此当 Node 尝试 运行 代码时,它会抛出错误。
如何解决: 尝试修改库的最后一行,使其显示为 module.exports = rsa;
。
不过,我要补充一点,eval
并不是将库加载到您自己的代码中的好方法。这就是 require
的用途。如果您使用 npm i
安装了这个库并且它在您的 node_modules 中,您应该能够使用 var rsa = require('rsa');
将它加载到您的代码中。
同样,如果您不转译代码,export default
可能会出现问题,因此您可能希望以任何一种方式将其更改为 module.exports
。