javascript - 无法在索引文件nodejs中要求类

标签 javascript node.js express ecmascript-6 es6-modules

我的配置类:ProjectDir/classes/config.js

'use strict';
class config{
    getMongo(){
        var MongoClient = require('mongodb').MongoClient;
        MongoClient.connect('mongodb://127.0.0.1:27017/nodedb', (err, database) => {
            var db;
            if (err) return console.log(err)
            db = database;
            console.log('Connected to mongo');
        });
    }
}

module.exports = config;

我的server.js文件(这里定义了所有路由):ProjectDir/server.js

console.log('May Node be with you');
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: true}));

var configClass = require('./classes/config');//this is line 18
var config = new configClass();

错误:

SyntaxError: Invalid or unexpected token
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:588:28)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (D:\node\server.js:18:19)
[nodemon] app crashed - waiting for file changes before starting...

没有nodemon:

    >node server.js
    May Node be with you
D:\node\classes\config.js:1
(function (exports, require, module, __filename, __dirname) { ��'
    SyntaxError: Invalid or unexpected token
        at createScript (vm.js:80:10)
        at Object.runInThisContext (vm.js:139:10)
        at Module._compile (module.js:588:28)
        at Object.Module._extensions..js (module.js:635:
        at Module.load (module.js:545:32)
        at tryModuleLoad (module.js:508:12)
        at Function.Module._load (module.js:500:3)
        at Module.require (module.js:568:17)
        at require (internal/module.js:11:18)
        at Object.<anonymous> (D:\node\server.js:18:19)

包.json

{
  "name": "node",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "nodemon server.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.18.2",
    "ejs": "^2.5.7",
    "express": "^4.16.2",
    "mongodb": "^2.2.33",
    "node-uuid": "^1.4.8",
    "swagger-tools": "^0.10.3"
  },
  "devDependencies": {
    "nodemon": "^1.12.1"
  }
}

我是 Node js 的新手,我正在尝试使我的代码模块化,因此我创建了一个名为 config.js 的类,我想在编写所有路由的索引文件中使用该类。请帮忙!!

最佳答案

在 server.js 中尝试这个(未测试)

const express = require('express');
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: true}));

var { config } = require('./classes/config');//this is line 18
var config = new config();

关于javascript - 无法在索引文件nodejs中要求类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47225678/

相关文章:

node.js - 为什么数据库快照未定义 Firebase 管理 Node Js?

javascript - 将 URL 传递到 JSON 数组

javascript - 当数据在作用域内时通过回调函数传递数据

javascript - 忽略下划线模板中未定义的数据/变量

javascript - 创建多个图像 slider

node.js - Node 热敏打印机未连接到 Epson T88IV 打印机

node.js - Mongoose Schema.pre insertMany 中间件

javascript - 如何使用 Axios 将图像发送到 Node js?

javascript - 'NextHandleFunction' 类型的参数不可分配给 'PathParams' 类型的参数

node.js - 如何在 jade 模板 ahrefs 中嵌入收缩路由 url() 调用?