我有一个文件,我认为它应该作为一个模块导入,但是当我试图导入我的主文件(请参阅main.js)时,我会得到以下错误:
Error: Cannot find module 'sessionStore.js'我确保文件在正确的位置。还有什么能导致这件事的?
main.js
var express = require('express');
var bodyParser = require('body-parser');
var util = require('util');
var toMarkdown = require('to-markdown');
var jsdiff = require('diff');
var marked = require('marked');
var pg = require('pg');
//need to get sessions to work and use server credentials instead of password
var sessionStore = require('sessionStore.js');
var PodioJS = require('podio-js').api;
var podio = new PodioJS({authType: 'password', clientId: "xxx", clientSecret: "xxx" },{sessionStore:sessionStore});sessionStore.js
var fs = require('fs');
var path = require('path');
function get(authType, callback) {
var fileName = path.join(__dirname, 'tmp/' + authType + '.json');
var podioOAuth = fs.readFile(fileName, 'utf8', function(err, data) {
// Throw error, unless it's file-not-found
if (err && err.errno !== 2) {
throw new Error('Reading from the sessionStore failed');
} else if (data.length > 0) {
callback(JSON.parse(data));
} else {
callback();
}
});
}
function set(podioOAuth, authType, callback) {
var fileName = path.join(__dirname, 'tmp/' + authType + '.json');
if (/server|client|password/.test(authType) === false) {
throw new Error('Invalid authType');
}
fs.writeFile(fileName, JSON.stringify(podioOAuth), 'utf8', function(err) {
if (err) {
throw new Error('Writing in the sessionStore failed');
}
if (typeof callback === 'function') {
callback();
}
});
}
module.exports = {
get: get,
set: set
};发布于 2015-08-14 00:43:44
你试过使用相对路径吗?如果它们在同一个目录中,那么
var sessionStore = require('./sessionStore');没有.js
发布于 2015-08-14 01:00:33
您所得到的错误是因为节点无法在sessionStore目录中找到您的node_modules模块。
如果传递给require()的模块标识符不是本机模块,且不以“/”、“../”或“./”开头,则节点从当前模块的父目录开始,并添加/node_modules,并尝试从该位置加载模块。
您可能希望使用文件的相对路径。类似于:require('./sessionStore')
以'/‘为前缀的模块是文件的绝对路径。例如,require(' /home/marco/foo.js ')将在/home/marco/foo.js加载文件。 一个以'./‘为前缀的模块相对于文件调用require()。也就是说,circle.js必须在与foo.js相同的目录中才能找到它。
https://stackoverflow.com/questions/32000664
复制相似问题