webpack angular2-rc5 uri.match不是一个函数

发布时间:2020-04-09 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了webpack angular2-rc5 uri.match不是一个函数脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我为angular2 rc.5开发提供了以下webpack设置,但失败并出现以下错误
url_resolver.js:238Uncaught TypeError: uri.match is not a function

webpack看起来像

var sliceArgs = Function.prototype.call.bind(Array.prototype.slice);
var toString  = Function.prototype.call.bind(Object.prototype.toString);
//const helpers = require('./helpers');
var webpack = require("webpack"),ExtractTextPlugin = require('extract-text-webpack-plugin'),//helpers = require('./helpers'),path = require('path');

var CommonsChunkPlugin = webpack.optimize.CommonsChunkPlugin;

module.exports = {
    entry: {
        'vendor': [
            // Polyfills
            'core-js/es6','core-js/es7/reflect','zone.js/dist/zone','zone.js/dist/long-stack-trace-zone',// Angular2
            '@angular/common','@angular/platform-browser','@angular/platform-browser-dynamic','@angular/core','@angular/router','@angular/http',// RxJS
            'rxjs',// Other
            'angular2-jwt'
        ],'app': [
            './src/index'
        ]
    },output: {
        path: root('build'),filename: '[name].js',// filename: '[name].[hash].js',sourceMapFilename: '[name].js.map',chunkFilename: '[id].chunk.js'
    },resolve: {
        root: __dirname,extensions: [
            '','.ts','.js','.json','.css','.html'
        ]
    },devtool: 'source-map',module: {

        preLoaders: [
           /* {
                test: /\.ts$/,loader: 'string-replace-loader',query: {
                    search: '(System|SystemJS)(.*[\\n\\r]\\s*\\.|\\.)import\\((.+)\\)',replace: '$1.import($3).then(mod => mod.__esModule ? mod.default : mod)',flags: 'g'
                },include: [helpers.root('src')]
            },*/
            { test: /\.ts$/,loader: 'tslint-loader' } ],loaders: [
            {
                test: /\.ts$/,loader: 'ts-loader',query: {
                    'ignoreDiagnostics': [
                        2403,// 2403 -> Subsequent variable declarations
                        2300,// 2300 Duplicate identifier
                        2304,// 2304 Cannot find name
                        2374,// 2374 -> Duplicate number index signature
                        2375  // 2375 -> Duplicate string index signature
                    ]
                },exclude: [ /\.spec\.ts$/,/\.e2e\.ts$/,/node_modules/ ]
            },// Support for *.json files.
            { test: /\.json$/,loader: 'json-loader' },// Support for CSS as raw text
            { test: /\.css$/,loader: 'raw-loader' },// support for .html as raw text
            { test: /\.html$/,{
                test: /\.scss$/,exclude: /node_modules/,loaders: ['raw-loader','sass-loader'] // sass-loader not scss-loader
            },{
                test: /\.(png|woff|woff2|eot|ttf|svg)$/,loader: 'url-loader?limit=100000'
            },{
                test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,loader: "url?limit=10000&mimetype=application/font-woff"
            },{
                test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/,loader: "url?limit=10000&mimetype=application/font-woff"
            }
        ],noParse: [
            /zone\.js\/dist\/.+/,/reflect-metadata/,/es(6|7)-.+/,/.zone-microtask/,/.long-stack-trace-zone/
        ]
    },plugins: [
        new CommonsChunkPlugin({ name: 'vendor',filename: 'vendor.js',minChunks: Infinity }),new CommonsChunkPlugin({ name: 'common',filename: 'common.js',minChunks: 2,chunks: ['app','vendor'] }),new ExtractTextPlugin('dist/app.css',{
            allChunks: true
        })

    ],// Other module loader config
    tslint: {
        emitErrors: false,failOnHint: false
    },// our Development Server configs
    // our Webpack Development Server config
    devServer: {
        historyApiFallback: true,publicPath: '/build'
    }
}

function getBanner() {
    return 'This is a sample that shows how to add authentication to an Angular 2 (ng2) app by @auth0';
}

function root(args) {
    args = sliceArgs(arguments,0);
    return path.join.apply(path,[__dirname].concat(args));
}
function rootNode(args) {
    args = sliceArgs(arguments,0);
    return root.apply(path,['node_modules'].concat(args));
}

这个bug有问题吗?

我在迁移到webpack后遇到了类似的问题,这是由在为SystemJS设计的组件中使用moduleId:module.id引起的.

如果您的代码中出现任何moduleId,请删除它们.

在github:https://github.com/angular/angular/issues/10626上检查此问题

总结

以上是脚本之家为你收集整理的webpack angular2-rc5 uri.match不是一个函数全部内容,希望文章能够帮你解决webpack angular2-rc5 uri.match不是一个函数所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入脚本之家官方QQ群:1065694478