zal*_*517 11 javascript module node.js requirejs browserify
我有一个场景,我想从客户端将数据导出到CSV.我将有一个文本框/区域或用户可以输入数据的任何位置,然后理想情况下只需单击一下,本地CSV文件将使用该数据进行更新.
这可以通过NodeJS与服务器交互及其核心模块(特别是fs模块)轻松实现,但显然不是来自浏览器.
我发现某些节点模块(例如underscore)支持RequireJS使特定模块在浏览器中工作的方法.所以对于下划线我做了这个:
methods.js
define(['underscore'],function(_) {
var Methods = {
doSomething: function() {
var x = _.size({one: 1, two: 2, three: 3, xuz: 3});
alert(x);
}
};
return Methods;
});
Run Code Online (Sandbox Code Playgroud)
common.js
requirejs.config({
baseURL: 'node_modules',
paths: {
underscore: 'underscore/underscore',
}
});
require(['methods'], function(y){
y.doSomething();
});
Run Code Online (Sandbox Code Playgroud)
的index.html
<script data-main="common" src="require.js"></script>
<script>
require(['common'], function() {
require(['methods.js']);
});
</script>
Run Code Online (Sandbox Code Playgroud)
以上工作正常,并将显示警报:4.
但是当我尝试使用fs模块时,它将无法正常工作.它会显示此错误:
Module name "util" has not been loaded yet for context: _. Use require([])
Run Code Online (Sandbox Code Playgroud)
据我所知,这是因为fs需要其他几个模块,其中一个是util.
所以我继续将所有这些模块添加到RequireJS配置中.但仍然没有运气,所以我专门测试了util模块本身,因为这似乎不需要其他模块工作.
现在我被困在这个错误上: Uncaught ReferenceError: exports is not defined
我尝试util通过封装整个模块源代码来模块化这个模块:
define([], function() {})
Run Code Online (Sandbox Code Playgroud)
但它也没有用......我也试过复制underscore模型,但仍然没有运气.
所以我想知道是否有人在浏览器中使用诸如RequireJS或Browserify之类的库设法使用util&fsmodules(或任何其他核心NodeJS模块).
| 归档时间: |
|
| 查看次数: |
14656 次 |
| 最近记录: |