Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mount Koa app from different Directory #13

Closed
MBehtemam opened this issue Feb 24, 2014 · 10 comments
Closed

Mount Koa app from different Directory #13

MBehtemam opened this issue Feb 24, 2014 · 10 comments

Comments

@MBehtemam
Copy link

according to this stackoverflow question how to mount koa app from different directory

@babnik63
Copy link

I have the same problem
I need to separate my koa app files and I don't know how to mount them from different paths.

@jonathanong
Copy link
Member

var subapp1 = require('./subapp1')
var subapp2 = require('./subapp2')

app.use(mount('/subapp1', subapp1))
app.use(mount('/subapp2', subapp2))

your questions need more code because right now it's ambiguous

@MBehtemam
Copy link
Author

@jonathanong according to your solution this is app1 but when in my server.js that is my startup app i call this var app = require('./Client/Applications/sandbox'); the home of app1 and then NAP.use(mount('/app',app)); but i get this error :

NAP Listen ON 127.0.0.1:3000
TypeError: Object #<Object> has no method 'call'
at Object.<anonymous> (G:\NAP\node_modules\koa-mount\index.js:51:22)
at GeneratorFunctionPrototype.next (native)
at next (G:\NAP\node_modules\koa\node_modules\co\index.js:70:21)
at Object.<anonymous> (G:\NAP\node_modules\koa\node_modules\co\index.js:50:5)
at next (G:\NAP\node_modules\koa\node_modules\co\index.js:86:21)
at Object.<anonymous> (G:\NAP\node_modules\koa\node_modules\co\index.js:50:5)
at next (G:\NAP\node_modules\koa\node_modules\co\index.js:86:21)
at Object.<anonymous> (G:\NAP\node_modules\koa\node_modules\co\index.js:50:5)
at next (G:\NAP\node_modules\koa\node_modules\co\index.js:86:21)
at Object.<anonymous> (G:\NAP\node_modules\koa\node_modules\co\index.js:50:5)

@jonathanong
Copy link
Member

still need a test case. looks like you're not passing an app

@MBehtemam
Copy link
Author

Ok. this is my App

@jonathanong
Copy link
Member

if i can't copy and paste it then it's not a test case

@MBehtemam
Copy link
Author

Ok .
This is App.js :

var koa = require('koa'),
fs = require('fs'),
views = require('koa-render'),
router = require('koa-route'),
hbs = require('koa-hbs'),
mount= require('koa-mount'),
path = require('path'),
serve = require('koa-static'),
AppConfing = JSON.parse(fs.readFileSync('./config/NAPConfig.json')),
App = koa();

  //Requiring Some App for mounting 
   var app = require('./Client/Applications/sandbox');

App.use(mount('/app',app));
App.listen(AppConfing.hostPort,AppConfing.hostIp,function(){
console.log("App Listen ON " + AppConfing.hostIp + ":" + AppConfing.hostPort);
});

App.listen(3000);

and this is App1 :

var koa  = require('koa'),
route = require('koa-route'),
app = koa();

  app.use(route.get('/',function *(){
this.body = "HELLO WORLD";
}));

tnx

@jonathanong
Copy link
Member

you're not exporting the app. that's it.

@MBehtemam
Copy link
Author

In App :

module.exports = {
var koa  = require('koa'),
route = require('koa-route'),
app = koa();

  app.use(route.get('/',function *(){
this.body = "HELLO WORLD";
}));

 }

and this is the error :

 G:\NAP\Client\Applications\sandbox\index.js:2
    var koa  = require('koa'),
        ^^^
  SyntaxError: Unexpected identifier
  at exports.runInThisContext (vm.js:69:16)
  at Module._compile (module.js:432:25)
  at Object.Module._extensions..js (module.js:467:10)
  at Module.load (module.js:349:32)
  at Function.Module._load (module.js:305:12)
  at Module.require (module.js:357:17)
  at require (module.js:373:17)
  at Object.<anonymous> (G:\NAP\app.js:17:11)
  at Module._compile (module.js:449:26)
  at Object.Module._extensions..js (module.js:467:10)

i think it cant load koa

@MBehtemam
Copy link
Author

OOPS . if find my mistake.

var koa  = require('koa'),
route = require('koa-route'),
app = koa();

 app.use(route.get('/',function *(){
this.body = "HELLO WORLD";
}));

module.exports = app;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants