簡體   English   中英

Meteor.js和npm

[英]Meteor.js and npm

所以我使用Meteor包meteorhacks:npm以便從我的流星代碼中使用npm包。 所以我有一個模板:

Template.upload.events({
    'submit form': function(event){
        var file1 = document.getElementById("file1").files;

        var file2 = $('[name=file1]').val();
        //console.log(file1[0].type);

        var reader = new FileReader();
        reader.onload = function(event) {
            var contents = event.target.result;
            Meteor.call("saveFileinFolder",contents);
            //console.log(contents);

        };

這就是我正在調用的Meteor方法:

Meteor.methods({
    saveFileinFolder: function (content){
        var nodeFS = Meteor.npmRequire('node-fs');
        var fs = new nodeFS({version:'0.1.7'});
        console.log(content);
    }
});

我正在嘗試使用節點包node-fs來將文件保存到文件夾,但是我不斷收到錯誤消息:

I20150825-18:37:51.645(-4)? Exception while invoking method 'saveFileinFolder' TypeError: object is not a function
I20150825-18:37:51.646(-4)?     at [object Object].Meteor.methods.saveFileinFolder (app/server/home.js:4:15)
I20150825-18:37:51.646(-4)?     at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1617:1)
I20150825-18:37:51.646(-4)?     at packages/ddp/livedata_server.js:648:1
I20150825-18:37:51.646(-4)?     at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20150825-18:37:51.646(-4)?     at packages/ddp/livedata_server.js:647:1
I20150825-18:37:51.646(-4)?     at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20150825-18:37:51.646(-4)?     at [object Object]._.extend.protocol_handlers.method (packages/ddp/livedata_server.js:646:1)
I20150825-18:37:51.646(-4)?     at packages/ddp/livedata_server.js:546:1

您誤解了使用meteorhacks:npm的方式。 您需要將所需的版本號放入一個名為packages.json的文件中:

{“ node-fs”:“ 0.1.7”}

然后重新啟動流星,它將為您安裝該節點軟件包。 然后在您的代碼中,按照通常的require ,只需使用Meteor.npmRequire 您將從節點中的require獲得相同的對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM