2016-10-24 17 views
4

ここではGulp/npmはありません。Gulp-Sourcemaps、SyntaxError:予期しないトークン>

私は一口-sourcemapsを使用しようとしている、といくつかの理由で、それはvar sourcemaps = require('sourcemaps')にクラッシュする(これは、クラッシュ時にのみファイルに次の行の)

gulpfile:。

var gulp = require('gulp'); 
var uglify = require('gulp-uglify'); 
var concat = require('gulp-concat'); 
var sourcemaps = require('gulp-sourcemaps'); 


gulp.task('generateApp', function() { 
    return gulp.src([some paths...]) 
     .pipe(sourcemaps.init()) 
     .pipe(concat('app.min.js')) 
     .pipe(uglify()) 
     .pipe(sourcemaps.write()) 
     .pipe(gulp.dest(path...)); 
}); 

エラー:

C:\Projets\node_modules\strip-bom\index.js:2 
module.exports = x => { 
        ^
SyntaxError: Unexpected token > 
at Module._compile (module.js:439:25) 
at Object.Module._extensions..js (module.js:474:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Module.require (module.js:364:17) 
at require (module.js:380:17) 
at Object.<anonymous> (C:\Projets\node_modules\gulp-sourcemaps\src\init.js:10:14) 
at Module._compile (module.js:456:26) 
at Object.Module._extensions..js (module.js:474:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 

誰でもこのタイプのエラーが発生しましたか? 私はそれを成功させることなくgoogleしようとしました。私は同じエラーを取得し始め、これにC:\Projects\node_modules\strip-bom\index.jsのコードを置き換えることによってそれを固定

+0

ノードのバージョンは何ですか? –

+0

ノード:v6.8.1 gulp v3.9.1 – Louis

答えて

12

'use strict'; 
module.exports = function (x) { 
    if (typeof x !== 'string') { 
     throw new TypeError('Expected a string, got ' + typeof x); 
    } 

    // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string 
    // conversion translates it to FEFF (UTF-16 BOM) 
    if (x.charCodeAt(0) === 0xFEFF) { 
     return x.slice(1); 
    } 

    return x; 
}; 

その後、私はそれが再び動作させるためにnpm rebuild node-sassを実行する必要がありました。これは、古いバージョンのStrip-bomノードモジュールの問題であるようです。詳細情報については

、これをチェックアウト:https://github.com/sindresorhus/strip-bom/commit/e2a3c3b83706ee5baac284f3862d3f6b9e1564e5

UPDATED ANSWER:

このエラーは、ノードの古いバージョンを使用することによって引き起こされます。 Strip-bomモジュールは、ノード5.0+を必要とする構文ES2015 (ES6)を使用しています。実行し、ノードのバージョンをテストするには

を(ノードのES2015サポートリストhereを参照してください):それは5.0未満なら

node -v

、あなたはそれを更新する必要があります。あなたはここでノードの最新バージョンをダウンロードすることができます

https://nodejs.org/en/

ノードの新しいバージョンをインストールした後、私はまだアップして、再度実行しているがぶ飲みを取得するためにnpm rebuild node-sassを実行するために必要な。

ノードのバージョンを更新する必要がない場合でも、以前の回答は機能しますが、Louisが指摘したように、手動でノードモジュールファイルを編集するのはベストプラクティスではありません。

+1

このコメントは私を正しい道に押し込みます。自分でファイルを手作業で修正したくないので、古いバージョンのgulp-sourcemaps(バージョン1.5.0)をインストールして問題を修正しました。 – Louis

+1

同じエラーを受信して​​いましたが、このポストも正しい軌道に乗っていましたが、ノードv0.wontTellYou;を実行していました;)〜ノードv7へのフルアップグレードを決定&npm rebuild node-sass'アウトも。たぶんどこかに文書化された何らかの依存関係がありますが、ちょっと、修正されました。 – Atari

+0

私はDebianでも同じエラーが出ていますが、Windowsマシンでは新しくnpmをインストールしてもうまく動作しているようです。誰が何が起きているのか知っているのだろうか? –

関連する問題