如何在浏览器中使用'csv-parse'?

时间:2014-05-14 12:35:13

标签: node.js requirejs npm qunit grunt-contrib-qunit

我试图运行csv-parse。它失败了

Uncaught Error: Module name "stream" has not been loaded yet for context: _. Use require([])
http://requirejs.org/docs/errors.html#notloaded require.js:166
makeError require.js:166
localRequire require.js:1392
requirejs require.js:1737
(anonymous function) index.js?bust=1400069530273:58

node_modules/csv-parse/lib/index.js中的代码(非异步!):

stream = require('stream');

我尝试使用以下代码访问csvparse:

define ['qunit'], () ->
    csvparse = require(['csvparse'])
    QUnit.test "csv namespace", () ->
        QUnit.ok( csvparse?, "csvparse should exists: #{csvparse}" )

在我的Scripts文件夹下的QUnit脚本中

requirejs.config({
    baseUrl: '.',
    paths: {
        jquery: '../bower_components/jquery/dist/jquery',
        qunit: '../bower_components/qunit/qunit/qunit',
        csvparse: '../node_modules/csv-parse/lib/index',
        util: '../node_modules/util/util',
        stream: '../node_modules/stream/index'
    },
});

我的树结构是

|--bower_components
|  |--bootstrap
|  |--jquery
|  \--qunit
|--Content
|--node_modules
|  |--bower
|  |--csv-parse
|  |  |--lib
|  |  |--samples
|  |  |--src
|  |  \--test
|  |--grunt
|  |--grunt-contrib-coffee
|  |--grunt-contrib-less
|  |--grunt-contrib-qunit
|  |--grunt-contrib-watch
|  |--requirejs
|  |  \--bin
|  |--stream
|  |  \--node_modules
|  \--util
|     |--node_modules
|     |--support
|     \--test
\--Scripts

所以我看到的问题是'流'模块未加载。那么如何让它在浏览器中运行(Chromium 35)?谢谢!

1 个答案:

答案 0 :(得分:1)

使用像browserify这样的东西可能会更好运,因为stream是一个节点核心模块而且npm中的stream模块在​​很长一段时间内没有更新,并且可能落后于术语修复和更新。