1

I'm not sure if this has been answered before. I am trying to build a node express API, where I now need to include another js file so I can spread up my code.

Basically, I have a server.js file where I want to call a function in a router.js file. Is this possible?

Have tried using import, because i read that ES6 now supports that. Code:

import routers from '/router.js';

Have also tried with the 'required' keyword, but that does not help either. The router.js file is also just placed in the root as the server.js.

Package.json:

 {
    "name": "nodeexpresapi",
    "main": "server.js",
    "dependencies": {
      "body-parser": "~1.0.1",
      "express": "~4.0.0",
      "mongoose": "~3.6.13",
      "nodemon": "^1.9.2",
    },
    "scripts": {
      "start": "nodemon server.js"
    }
 }

I have read that you can import them in the html file, but this is a server with no html, so that is not possible for me.

1
  • '/router.js' will search for router.js in the root of the filesystem not root of your server, if the file is in the same directory then you need to use import routers from './router.js'; if it's one directory up in file tree then you to use '../routers.js' Commented Jun 24, 2016 at 11:33

1 Answer 1

3

In router.js file , you can try

module.exports = functionYouWantToImport();

and in the server.js you can try

var routerFunction = require('./router.js');

also when you require some local file as a module you should take care the path you are directing

Sign up to request clarification or add additional context in comments.

1 Comment

You don't want to call that function only export it so use module.exports = functionYouWantToImport;

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.