2017-05-01 21 views
5

Brunchに組み込まれているデフォルトのソースマッピングを使用しています。私はファイルが正常に表示されますが、ソースマップファイル内でブレークポイントを押すことはできません。 debugger;経由のデバッガへのJavascriptアクセスを使用すると、私は事のBrunch側に何か問題があると信じさせてくれます。私は'old''absoluteUrl''inline'に設定のsourceMapsプロパティを設定しようとしたブランチソースマッピング:Chrome Devtoolsのブレークポイントにヒットしない

module.exports = { 

    files: { 
    javascripts: { 
     joinTo: { 
     'js/vendor.js': /^(?!source\/)/, 
     'js/app.js': /^source\// 
     }, 
     entryPoints: { 
     'source/scripts/app.jsx': 'js/app.js' 
     }, 
     order: { 
     before: /^(?!source)/ 
     } 
    }, 
    stylesheets: {joinTo: 'css/core.css'}, 
    }, 

    paths: { 
    watched: ['source'] 
    }, 

    modules: { 
    autoRequire: { 
     'js/app.js': ['source/scripts/app'] 
    } 
    }, 

    plugins: { 
    babel: {presets: ['latest', 'react']}, 
    assetsmanager: { 
     copyTo: { 
     'assets': ['source/resources/*'] 
     } 
    }, 
    static: { 
     processors: [ 
     require('html-brunch-static')({ 
      processors: [ 
      require('pug-brunch-static')({ 
       fileMatch: 'source/views/home.pug', 
       fileTransform: (filename) => { 
       filename = filename.replace(/\.pug$/, '.html'); 
       filename = filename.replace('views/', ''); 
       return filename; 
       } 
      }) 
      ] 
     }) 
     ] 
    } 
    }, 

    server: { 
    run: true, 
    port: 9005 
    } 

}; 

Brunch configマニュアルを参照してください)が、それでも私は、ブレークポイントをヒットしない:

は、ここに私のブランチ-config.jsのです。

私はコマンドbrunch watch --serverを実行していますが、私はChromeを使用しています。 Chrome Canaryの同じ動作。 Firefoxでブレークポイントにヒットしました。問題はありません。

これは、ソースとマップファイルは、その定義については、一見のような何かベース64文字列を持っていることに注意することは興味深いです:

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpb... 

マッピングが働いているように見えるを、なぜ私はブレークポイントをヒットすることはできませんChromeのdevtools?

MVCEが利用可能です。クロームデベロッパーツールで

  1. クローンこのexample repository
  2. npm install
  3. brunch build(それはnpm install brunch -gでグローバルにインストールされていることを確認してください)
  4. 開き、ブレークポイント
  5. が試みでアプリをリロード設定:これらの指示に従ってくださいブレークポイントを叩くために

additiブランチのGithubの上に作成し

{ 
    "version": "0.0.1", 
    "devDependencies": { 
    "assetsmanager-brunch": "^1.8.1", 
    "babel-brunch": "^6.1.1", 
    "babel-plugin-add-module-exports": "^0.2.1", 
    "babel-plugin-rewire": "^1.0.0-rc-5", 
    "babel-plugin-transform-es2015-modules-commonjs": "^6.10.3", 
    "babel-plugin-transform-object-rest-spread": "^6.8.0", 
    "babel-preset-react": "^6.3.13", 
    "babel-register": "^6.11.6", 
    "browser-sync-brunch": "^0.0.9", 
    "brunch": "^2.10.9", 
    "brunch-static": "^1.2.1", 
    "chai": "^3.5.0", 
    "es6-promise": "^3.2.1", 
    "eslint-plugin-react": "^5.1.1", 
    "expect": "^1.20.2", 
    "html-brunch-static": "^1.3.2", 
    "jquery": "~2.1.4", 
    "jquery-mousewheel": "^3.1.13", 
    "mocha": "^3.0.0", 
    "nib": "^1.1.0", 
    "nock": "^8.0.0", 
    "oboe": "~2.1.2", 
    "paper": "0.9.25", 
    "path": "^0.12.7", 
    "pug": "^2.0.0-beta10", 
    "pug-brunch-static": "^2.0.1", 
    "react": "^15.2.1", 
    "react-dom": "^15.2.1", 
    "react-redux": "^4.4.5", 
    "redux": "^3.5.2", 
    "redux-logger": "^2.6.1", 
    "redux-mock-store": "^1.1.2", 
    "redux-promise": "^0.5.3", 
    "redux-thunk": "^2.1.0", 
    "reselect": "^2.5.3", 
    "spectrum-colorpicker": "~1.8.0", 
    "stylus-brunch": "^2.10.0", 
    "uglify-js-brunch": "^2.10.0", 
    "unibabel": "~2.1.0", 
    "when": "~3.4.5" 
    }, 
    "dependencies": { 
    "jwt-decode": "^2.1.0", 
    "lodash": "^4.17.4", 
    "postal": "^2.0.5", 
    "rc-tree": "^1.3.9" 
    }, 
    "scripts": { 
    "test": "mocha --compilers js:babel-register" 
    } 
} 

Issue:onal情報は、ここに私のpackage.jsonです。 this questionへの@ JohannesFilterの答えに指定されている私のブランチの設定を固定することにより解決

UPDATE

+0

私はそれは質問が「未回答」としてマークされていないので、自分の答えを書く(と受け入れる)する方が良いと思います。 ;) –

+0

@JohannesFilter良い呼び出し;私は答えを出しました。改善が得られれば編集を提案してください。 –

答えて

0

これは妥当性はありますが、相反するブランチ設定の副産物でした。 @HohannesFilterのこのquestionへの回答を参照してください。本質的には

は、彼らが重なる場合にfiles.entryPointsfiles.joinToの出力を上書きするにfiles.joinTofiles.entryPointsは相互に排他的であるようです。解決方法は、どちらかを選択するか、またはファイルが重複していないことを確認することです。例えば、これらの両方は、構成を作業している:

entryPoints: { 
    'source/scripts/app.jsx': { 
    'js/vendor.js': /^(?!source\/)/, 
    'js/app.js': /^source\// 
    }, 
} 

または

joinTo: { 
    'js/lib.js': /^(?!source\/)/ 
}, 
entryPoints: { 
    'source/scripts/app.jsx': { 
    'js/app.js': /^source\// 
    }, 
}  
関連する問題