简体   繁体   English

使用document.cookie将客户端javascript转换为节点模块

[英]Convert client-side javascript using document.cookie into node module

How can I use document.cookie in node? 如何在节点中使用document.cookie Please read further before replying. 请在回覆前进一步阅读。

My attempt at the node module: 我对节点模块的尝试:

var myModule = module.exports = function myModule(options) {
}

moduleName.getCookie = function(cname) {
    'use strict';
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
    }
    return "";
};

moduleName.setCookie = function(cname, cvalue, exdays) {

    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
};

In index.js : index.js

I tried using the jsdom module in my index.js 我尝试在index.js中使用jsdom模块

var jsdom = require('jsdom');
var window = jsdom.jsdom().parentWindow;
var Cookies = require('cookies-js')(window);

In mymodule.js : mymodule.js

myModule.prototype.getCookie = function(cname) {
    Cookies.get(cname);
};

myModule.prototype.setCookie = function(cname, cvalue) {
    Cookies.set(cname, cvalue);
};

But I'm not sure how I would pass the Cookies referenced in index.js to myModule in foo.js 但是我不确定如何将index.js引用的Cookies传递给myModule中的myModule

I'm not quite sure I fully understood the question but why can't you put 我不太确定我是否完全理解这个问题,但是为什么不能

var Cookies = require('cookies-js')(window);
myModule.prototype.getCookie = function(cname) {
    Cookies.get(cname);
};

myModule.prototype.setCookie = function(cname, cvalue) {
    Cookies.set(cname, cvalue);
};

into foo.js? 进入foo.js?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM