uglify js error unexpected token eof “undefined”

2019-02-22 22:44发布

So I installed npm using npm install uglify-js

I run a command which is:

cat file1.js file2.js .. fileN.js | uglifyjs -o files.min.js

and I get this error:

WARN: ERROR: Unexpected token eof «undefined», expected punc «,» [-:630,15]

/usr/local/lib/node_modules/uglify-js/lib/parse.js:199
    throw new JS_Parse_Error(message, line, col, pos);
          ^
Error
    at new JS_Parse_Error (/usr/local/lib/node_modules/uglify-js/lib/parse.js:185:18)
    at js_error (/usr/local/lib/node_modules/uglify-js/lib/parse.js:199:11)
    at croak (/usr/local/lib/node_modules/uglify-js/lib/parse.js:630:9)
    at token_error (/usr/local/lib/node_modules/uglify-js/lib/parse.js:638:9)
    at expect_token (/usr/local/lib/node_modules/uglify-js/lib/parse.js:651:9)
    at expect (/usr/local/lib/node_modules/uglify-js/lib/parse.js:654:36)
    at ctor.argnames (/usr/local/lib/node_modules/uglify-js/lib/parse.js:897:52)
    at function_ (/usr/local/lib/node_modules/uglify-js/lib/parse.js:902:15)
    at expr_atom (/usr/local/lib/node_modules/uglify-js/lib/parse.js:1114:24)
    at maybe_unary (/usr/local/lib/node_modules/uglify-js/lib/parse.js:1278:19)

Any ideas on what this is about or how I should go about fixing it?

4条回答
混吃等死
2楼-- · 2019-02-22 23:10

ERROR: Unexpected token eof «undefined», expected punc «,» [-:630,15]

I believe all it means is that you are missing a , somewhere in your JS code, possibly on line 630, near character 15.

So if you concatenate the source of all your JS files, and take a look at line 630, you might find where the parser thought there was a missing comma.

查看更多
smile是对你的礼貌
3楼-- · 2019-02-22 23:16

Also faced this same issue. However, in my case, I could open the file with a problem and save it and then uglify would run without any issues.

Documented here

Workaround: I added a lineending task before invoking uglify to explicitly convert the line endings. Now uglify runs without issues.

查看更多
Viruses.
4楼-- · 2019-02-22 23:21

This could also be because of a bug in UglifyJS when reading from stdin. See https://github.com/mishoo/UglifyJS2/issues/85 for details.

查看更多
你好瞎i
5楼-- · 2019-02-22 23:25

In my case I had forgotten to close some open functions in my javascript. Make sure you have all of your semicolons properly closed too.

查看更多
登录 后发表回答