TypeScript'导出分配不能用于具有其他导出元素的模块'
我的目标是为所有的redis操作提供一个redis.js文件,就像下面的代码片断一样
const Redis = require('./handler/redis.js'); Redis.set(); Redis.get() etc .. from my app.js require('./core/redis')(redisClient);
上面的代码运行没有任何错误但是我得到typescript错误为'一个导出分配不能用在一个模块与其他导出的元素'
module.exports = function(redisClient) { redisClient.on('error',function(err) { console.log('Redis Error ' + err); }); redisClient.on('connected',function() { console.log('Redis Connected'); }); module.exports.set = function(key, value, next) { redisClient.set(key,value,next); }; module.exports.get = function(key, next) { redisClient.get(key,next); }; module.exports.del = function(key, next) { redisClient.del(key,next); }; };
即使这个警告如何我的代码正在运行
编辑代码://从我的app.js需要('./ core / redis')。init(redisClient);
module.exports.init = function(redisClient) { redisClient = redisClient; } redisClient.on('error',function(err) { console.log('Redis Error ' + err); }); redisClient.on('connected',function() { console.log('Redis Connected'); }); module.exports.set = function(key, value, next) { redisClient.set(key,value,next); }; module.exports.get = function(key, next) { redisClient.get(key,next); }; module.exports.del = function(key, next) { redisClient.del(key,next); };
这是做到这一点的正确方法
你已经写了module.exports = function(redisClient) {
作为从这个模块exports
赋值语句,然后用module.exports.set
, module.exports.get
和module.exports.del
覆盖这个语句这就是为什么它是给出错误“导出分配不能用在具有其他导出元素的模块中” 。 我不知道从哪里得到redisClient
参数的函数。 如果这个在当前模块中已经可用,那么你可以直接写代码
redisClient.on('error',function(err) { console.log('Redis Error ' + err); }); redisClient.on('connected',function() { console.log('Redis Connected'); }); module.exports.set = function(key, value, next) { redisClient.set(key,value,next); }; module.exports.get = function(key, next) { redisClient.get(key,next); }; module.exports.del = function(key, next) { redisClient.del(key,next); };
- 如何使用Browserify和Gulp启动多页面应用程序
- 所需的节点/快递模块不更新与chokidar?
- ES6模块/节点模块重复要求还是将其作为parameter passing?
- NodeJS警告:可能的事件发射器泄漏。 11个开放的听众添加
- 如何获取VS Code intellisense来search多个node_modules文件夹中的打字稿
- 如何将expression式parameter passing给nodejsasynchronous调用
- 跳过在docker容器内挂载node_modules文件夹
- Node.js:在文件夹结构中放置内部模块的位置?
- Mocha-aure-reporter不使用节点js