4

在遵循http://www.youtube.com/watch?feature=player_embedded&v=zBt2g9ekiug大约 3 分钟后,当我从 cmd 行运行 yo webapp 时,我得到以下信息。有没有人见过这个?

   C:\Users\L\AppData\Roaming\npm\node_modules\generator-webapp\node_modules\cheeri
o\node_modules\entities\index.js:36
        return encode[level](data);
               ^
ReferenceError: encode is not defined
    at Object.exports.encode (C:\Users\L\AppData\Roaming\npm\node_modules\genera
tor-webapp\node_modules\cheerio\node_modules\entities\index.js:36:9)
    at exports.encode (C:\Users\L\AppData\Roaming\npm\node_modules\generator-web
app\node_modules\cheerio\lib\utils.js:41:50)
    at formatAttrs (C:\Users\L\AppData\Roaming\npm\node_modules\generator-webapp
\node_modules\cheerio\lib\render.js:30:32)
    at renderTag (C:\Users\L\AppData\Roaming\npm\node_modules\generator-webapp\n
ode_modules\cheerio\lib\render.js:113:18)
    at C:\Users\L\AppData\Roaming\npm\node_modules\generator-webapp\node_modules
\cheerio\lib\render.js:81:17
    at Array.forEach (native)
    at Function._.each._.forEach (C:\Users\L\AppData\Roaming\npm\node_modules\ge
nerator-webapp\node_modules\cheerio\node_modules\underscore\underscore.js:79:11)

    at module.exports (C:\Users\L\AppData\Roaming\npm\node_modules\generator-web
app\node_modules\cheerio\lib\render.js:77:5)
    at Object.exports.html (C:\Users\L\AppData\Roaming\npm\node_modules\generato
r-webapp\node_modules\cheerio\lib\static.js:40:12)
    at Appgenerator.domUpdate (C:\Users\L\AppData\Roaming\npm\node_modules\gener
ator-webapp\node_modules\yeoman-generator\lib\actions\wiring.js:44:14)
4

5 回答 5

6

在使用最新的 Yomen 版本进行教程时,我遇到了同样的问题。实体库中存在拼写错误,您可以手动修复以完成教程:

打开有错误的文件(在您的情况下为 C:\Users\L\AppData\Roaming\npm\node_modules\generator-webapp\node_modules\cheerio\node_modules\entities\index.js )并将变量名从 inverse 更改为 encode

var decode = levels.map(function(l){ return l.normal; }),
    decodeStrict = levels.map(function(l){ return l.strict; }),
    inverse = levels.map(function(l){ return l.inverse; });

var decode = levels.map(function(l){ return l.normal; }),
    decodeStrict = levels.map(function(l){ return l.strict; }),
    encode = levels.map(function(l){ return l.inverse; });
于 2014-02-16T14:24:01.880 回答
3

一种解决方法是使用 cg-angular yeoman 生成器:

sudo npm install -g generator-cg-angular
yo cg-angular

但是,如果您遵循教程,显然并不理想。

于 2014-02-16T13:51:44.463 回答
1

也发生在 OSX 的角度生成器中:

/usr/local/lib/node_modules/generator-angular/node_modules/yeoman-generator/node_modules/cheerio/node_modules/entities/index.js:36
    return encode[level](data);
           ^
ReferenceError: encode is not defined
at Object.exports.encode (/usr/local/lib/node_modules/generator-angular/node_modules/yeoman-generator/node_modules/cheerio/node_modules/entities/index.js:36:9)
at exports.encode (/usr/local/lib/node_modules/generator-angular/node_modules/yeoman-generator/node_modules/cheerio/lib/utils.js:41:50)
at formatAttrs (/usr/local/lib/node_modules/generator-angular/node_modules/yeoman-generator/node_modules/cheerio/lib/render.js:30:32)
at renderTag (/usr/local/lib/node_modules/generator-angular/node_modules/yeoman-generator/node_modules/cheerio/lib/render.js:114:18)
at /usr/local/lib/node_modules/generator-angular/node_modules/yeoman-generator/node_modules/cheerio/lib/render.js:82:17
at Array.forEach (native)
at Function._.each._.forEach (/usr/local/lib/node_modules/generator-angular/node_modules/yeoman-generator/node_modules/cheerio/node_modules/underscore/underscore.js:78:11)
at module.exports (/usr/local/lib/node_modules/generator-angular/node_modules/yeoman-generator/node_modules/cheerio/lib/render.js:78:5)
at Object.exports.html (/usr/local/lib/node_modules/generator-angular/node_modules/yeoman-generator/node_modules/cheerio/lib/static.js:40:12)
at Generator.domUpdate (/usr/local/lib/node_modules/generator-angular/node_modules/yeoman-generator/lib/actions/wiring.js:39:14)
于 2014-02-16T13:47:26.683 回答
0

Node 模块实体刚刚发布了一个新版本,打破了 yeoman 的依赖(cheerio)。

于 2014-02-16T13:52:45.853 回答
0

错误似乎起源于cheerio。问题在这里打开https://github.com/MatthewMueller/cheerio/pull/382

于 2014-02-16T14:25:29.070 回答