gpt4 book ai didi

javascript - 如何创建一个可以在node和浏览器中使用的功能?

转载 作者:太空宇宙 更新时间:2023-11-04 02:23:04 25 4
gpt4 key购买 nike

我需要使用extend方法,在node中,我写道:

var Util = require('util');

Util._extend(a, b);

在浏览器中,我使用zepto,所以我写道:

$.extend(a, b);

我只想使用一个既可以在 Node 又可以在浏览器中工作的文件,所以我写道:

if (typeof exports !== 'undefined' && typeof module !== 'undefined' && module.exports) { // node
var Util = require('util');
Util._extend(a, b);
} else { // browser
$.extend(a, b);
}

我在浏览器中使用seajs,它实现了CMD API,所以我写道:

define(function(require, exports, module) {
module.exports = {
init: function(){
if (typeof exports !== 'undefined' && typeof module !== 'undefined' && module.exports) { // the browser actually entered this block
var Util = require('util');
Util._extend(a, b);
} else {
$.extend(a, b);
}
}
};
});

浏览器实际上进入了第一个 block ,所以上面的代码不起作用,然后我写道:

define(function(require, exports, module) {
module.exports = {
init: function(){
var Util;
if (Util = require('util')) { // the browser will try to require util, but util is a node module, so the browser won't find it, which will cause a 404 error
Util._extend(a, b);
} else {
$.extend(a, b);
}
}
};
});

这会导致浏览器出现 404 错误。

最佳答案

您需要使用 Node 模块browserify将后端代码更改为前端代码

关于javascript - 如何创建一个可以在node和浏览器中使用的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32041828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com