0

我正在尝试运行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}" )

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

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)中工作呢?谢谢!

4

1 回答 1

1

使用 browserify 之类的东西可能会更好,因为stream它是一个节点核心模块,并且streamnpm 中的模块很长时间没有更新,并且可能在修复和更新方面落后。

于 2014-05-14T13:12:59.840 回答