【问题标题】:NodeJs require errorNodeJs 需要错误
【发布时间】:2017-01-21 16:41:58
【问题描述】:

我有一个 nodejs 包和一个linkedList 代码。我想在我的 NodeJs js 文件夹中包含我的 LinkedList 代码,但我做不到。我的错是什么? 我想这样使用它

这是我的 NodeJs 文件夹中的代码。(app.js)

var KullaniciJS=require('KullaniciLibrary.js');

这是我需要的文件夹代码。(KullaniciLibrary.js)

function Kullanici(KullaniciAdi)
{
    this.KullaniciAdi=KullaniciAdi;
    this.Sonraki=null;
}
function KullaniciListe()
{
    this.Bas=null;
    this.Uzunluk=0;
}
KullaniciListe.prototype.Ekle=function(EklenecekKullaniciAdi)
{
    var Bas=this.Bas;
    if (!Bas) {
        this.Bas = EklenecekKullaniciAdi;
        this.Uzunluk++;

        return EklenecekKullaniciAdi;
    }
    while (Bas.Sonraki!==null) {

        Bas = Bas.Sonraki;
    }

    Bas.Sonraki = EklenecekKullaniciAdi;

    this.Uzunluk++;

    return EklenecekKullaniciAdi;
};

【问题讨论】:

  • 如果要创建 NPM 模块,通常必须声明要导出的函数。看看这个链接:docs.npmjs.com/getting-started/creating-node-modules
  • 我的 js 文件中不能包含这个 js 文件?
  • 当你想在本地机器上引用某些东西时,你使用 require('./KullaniciLibrary.js') ...注意文件前的 ./ 。如果这不起作用,那么您将需要声明一个全局(坏主意),使用 module.exports 导出匿名函数,再次使用 module.exports 导出命名函数或导出对象

标签: javascript jquery node.js linked-list


【解决方案1】:

首先,您必须在 KullaniciLibrary.js 文件中声明要导出的内容。您可以通过在文件末尾添加以下行来做到这一点:

module.exports = YOUREXPORT;

YOUREXPORT 可能只是方法名(或某个对象)。 之后,你想像这样导入它:

var KullaniciJS = require('./KullaniciLibrary');

请注意,您必须在名称前加上 ./ 前缀,并且您不需要定义文件结尾。

如果你不给模块添加前缀./,节点会在node_modules文件夹中搜索模块,而不是当前目录

【讨论】:

  • 当我运行这个代码块时 var YeniKullanici=new KullaniciJS.Kullanici("ASdf"); console.log(YeniKullanici.KullaniciAdi);我收到此错误 TypeError: KullaniciJS.Kullanici is not a function 为什么?
【解决方案2】:

在 nodejs 中需要另一个文件中的函数,你必须先导出函数。 要导出函数,请使用:

module.export='your function name';

并要求函数使用:

const variable=require(./filename)

欲了解更多信息,请使用此链接:

https://nodejs.org/api/modules.html

【讨论】:

    猜你喜欢
    • 2012-12-02
    • 2020-08-18
    • 2014-04-13
    • 2020-06-27
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 2023-03-23
    • 2012-06-17
    相关资源
    最近更新 更多