2017-02-07 9 views
3

Webpack 1から2へのアップグレード後にエラーが発生しました。助けてください!ありがとうございました!Webpack 2にアップグレードした後にエラーが発生しました。要求されたパスにインデックス0の未定義セグメントが含まれています

WebPACKのコンフィグ:

const path = require('path'); 
const root = path.resolve(__dirname); 
const webpack = require('webpack'); 
const merge = require('webpack-merge'); 
const ArchivePlugin = require('webpack-archive-plugin'); 
const CleanWebpackPlugin = require('clean-webpack-plugin'); 

let config = { 
    cache: true, 
    devtool: 'cheap-module-source-map', 
    entry: { 
     polyfills: './src/polyfills.browser.ts', 
     vendor: './src/vendor.browser.ts', 
     main: './src/main.browser.ts' 
    }, 
    output: { 
     path: path.join(__dirname, 'dist/output'), 
     filename: '[name].bundle.js', 
     sourceMapFilename: '[name].map', 
     chunkFilename: '[id].chunk.js' 
    }, 
    resolve: { 
     extensions: ['.ts', '.js'], 
     alias: {jquery: 'jquery/dist/jquery'} 
    }, 
    devServer: { 
     inline: true, 
     contentBase: 'src', 
     historyApiFallback: true, 
     watchOptions: {aggregateTimeout: 300, poll: 1000} 
    }, 
    node: { 
     net: 'empty', 
     global: true, 
     crypto: 'empty', 
     module: false, 
     Buffer: false, 
     clearImmediate: false, 
     setImmediate: false 
    }, 
    plugins: [ 
     new webpack.optimize.CommonsChunkPlugin({ 
      name: ['main', 'vendor', 'polyfills'], 
      minChunks: Infinity 
     }), 
     new webpack.ProvidePlugin({ 
      $: "jquery", 
      jQuery: "jquery", 
      "window.jQuery": "jquery" 
     }), 
     new webpack.DefinePlugin({ 
      "require.specified": "require.resolve" 
     }) 
    ], 
    module: { 
     exprContextCritical: false, 
     rules: [{ 
      test: /\.ts$/, 
      loaders: ['awesome-typescript-loader', 'angular2-template-loader'] 
     }, { 
      test: /\.css$/, 
      loaders: ['to-string-loader', 'style-loader', 'css-loader'] 
     }, { 
      test: /\.scss$/, 
      loaders: ["style-loader", "css-loader", "sass-loader"] 
     }, { 
      test: /\.json$/, 
      loader: 'raw-loader' 
     }, { 
      test: /\.html$/, 
      loader: 'raw-loader' 
     }, { 
      test: /\.(png|jpg|gif)(\?v=\d+\.\d+\.\d+)?$/, 
      loader: 'url-loader?limit=100000' 
     }, { 
      test: /\.(eot|com|json|ttf|woff|woff2)(\?v=\d+\.\d+\.\d+)?$/, 
      loader: "url-loader?limit=10000&mimetype=application/octet-stream" 
     }, { 
      test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, 
      loader: 'url-loader?limit=10000&mimetype=image/svg+xml' 
     }] 
    }, 
}; 

if (process.argv[1].indexOf('webpack-dev-server') === -1) { 
    module.exports = merge(config, { 
     plugins: [ 
      new CleanWebpackPlugin(['dist']), 
      new ArchivePlugin(), 
      new webpack.optimize.UglifyJsPlugin({output: {comments: false}}) 
     ] 
    }); 
} else { 
    module.exports = config; 
} 

これらはコンソールに表示されるエラーです。

vendor.bundle.js:57225 

ORIGINAL STACKTRACE: 
ErrorHandler.handleError @ vendor.bundle.js:57225 
vendor.bundle.js:57226 

Error: Uncaught (in promise): Error: The requested path contains undefined segment at index 0 
Error: The requested path contains undefined segment at index 0 
    at validateCommands (vendor.bundle.js:23790) [angular] 
    at Router.navigate (vendor.bundle.js:22872) [angular] 
    at :3000/main.bundle.js:15346:30 [angular] 
    at Object.onInvoke (vendor.bundle.js:29990) [angular] 
    at Zone.run (polyfills.bundle.js:17067) [angular => angular] 
    at :3000/polyfills.bundle.js:17474:57 [angular] 
    at Object.onInvokeTask (vendor.bundle.js:29981) [angular] 
    at ZoneDelegate.invokeTask (polyfills.bundle.js:17228) [angular] 
    at Zone.runTask (polyfills.bundle.js:17105) [<root> => angular] 
    at drainMicroTaskQueue (polyfills.bundle.js:17372) [<root>] 
    at HTMLButtonElement.ZoneTask.invoke (polyfills.bundle.js:17303) [<root>] 
    at resolvePromise (polyfills.bundle.js:17440) [angular] 
    at :3000/polyfills.bundle.js:17477:17 [angular] 
    at Object.onInvokeTask (vendor.bundle.js:29981) [angular] 
    at ZoneDelegate.invokeTask (polyfills.bundle.js:17228) [angular] 
    at Zone.runTask (polyfills.bundle.js:17105) [<root> => angular] 
    at drainMicroTaskQueue (polyfills.bundle.js:17372) [<root>] 
    at HTMLButtonElement.ZoneTask.invoke (polyfills.bundle.js:17303) [<root>] 
ErrorHandler.handleError @ vendor.bundle.js:57226 

*****私はこの質問を投稿するには、これらの行を追加する必要が

vendor.bundle.js:57220 

EXCEPTION: Uncaught (in promise): Error: The requested path contains undefined segment at index 0 
Error: The requested path contains undefined segment at index 0 
    at validateCommands (http://localhost:3000/vendor.bundle.js:23790:19) [angular] 
    at Router.navigate (http://localhost:3000/vendor.bundle.js:22872:9) [angular] 
    at http://localhost:3000/main.bundle.js:15346:30 [angular] 
    at Object.onInvoke (http://localhost:3000/vendor.bundle.js:29990:37) [angular] 
    at Zone.run (http://localhost:3000/polyfills.bundle.js:17067:43) [angular => angular] 
    at http://localhost:3000/polyfills.bundle.js:17474:57 [angular] 
    at Object.onInvokeTask (http://localhost:3000/vendor.bundle.js:29981:37) [angular] 
    at ZoneDelegate.invokeTask (http://localhost:3000/polyfills.bundle.js:17228:40) [angular] 
    at Zone.runTask (http://localhost:3000/polyfills.bundle.js:17105:47) [<root> => angular] 
    at drainMicroTaskQueue (http://localhost:3000/polyfills.bundle.js:17372:35) [<root>] 
    at HTMLButtonElement.ZoneTask.invoke (http://localhost:3000/polyfills.bundle.js:17303:25) [<root>] 
ErrorHandler.handleError @ vendor.bundle.js:57225 

は、私は何が起こったのか見つけ*****

+0

webpack設定ソースを含めることはできますか? webpack 1とwebpack 2の設定にはいくつかの違いがあります。 – ryandrewjohnson

+0

もちろん、質問に追加されます。 – Nicholas

答えて

2

関与あまりにも多くのコードがあります。ウェブパックに関するものではありませんが、Angular2の変更

this.router.navigate([redirectUrl]);を実行しようとしていましたが、redirectUrlundefinedでした。エラーが発生しました。

関連する問題