Ganesh Shenoy
Ganesh Shenoy

Reputation: 629

loopback nodejs server not starting

I have project with nodejs loopback 3.x version and I am recently turned dev in nodejs. I have written the models, server aspects (server.js, server/root.js) etc. Following are the dependencies:

"dependencies" : {
    "@types/async": "2.0.40",
    "@types/lodash": "4.14.139",
    "@types/loopback": "3.1.3",
    "@types/loopback-boot": "2.23.0",
    "loopback-connector-rest": "3.0.0",
    "loopback-model-binder": "1.4.0",
    "@types/multiparty": "0.0.31",
    "rimraf": "2.6.1",
    "sinon": "3.2.1",
    "ts-node": "3.3.0",
    "typescript": "2.8.3",
    "gulp-sequence": "0.4.6",
    "gulp-symlink": "2.1.4",
    "gulp-typescript": "4.0.1",
    "request": "2.81.0",
    "shelljs": "0.8.1",
    "yargs": "11.0.0",
    "os-locale": "3.1.0",
    "loopback-connector": "4.4.0",
    "strong-globalize": "2.10.0",
    "strong-remoting": "3.14.0"
}

This is my code snippet in server.ts:

const app: any = loopback();

boot(app, __dirname, (err) => {
   if (err) throw err;
});

app.start = () => {
    return app.listen(() => {
        const BASE_URL = app.get('url').replace(/\/$/, '');
        const explorer = app.get('loopback-component-explorer');
        if (explorer) {
            Logger.info(`Browse your REST API at ${BASE_URL}${explorer.mountPath}`);
        }
    });
};

Following are the steps for installing and starting app:

But the application is not starting, no errors but returns at command prompt. I enabled the verbose output for the npm run start -verbose command and I found following:

loopback:datasource Module ./connectors/rest not found, will try another candidate. +10ms loopback:datasource Initializing connector RequestBuilder +561ms loopback:datasource Connector is initialized for dataSource rest +7ms loopback:datasource DataSource rest is now connected to undefined +1ms lifecycle [email protected]~start: unsafe-perm in lifecycle true

Please let me know about any pointers regarding the above issue.

Upvotes: 0

Views: 584

Answers (1)

Ganesh Shenoy
Ganesh Shenoy

Reputation: 629

it was a silly miss from my part. Once you create the app and then in boot process you need to start the application.

boot(app, __dirname, (err) => {
    if (err) throw err;
    app.start(); // <-- Fix
});

Upvotes: 1

Related Questions