Uncaught TypeError: this._input.charCodeAt is not a function

I created an Angular 2 project using the Angular 2 CLI and used the ng build --prod and got no errors.

When I upload the dist folder to my site, I get the following error when downloading the application:

enter image description here

 Uncaught TypeError: this._input.charCodeAt is not a function_Tokenizer._advance @ main .688167 c….bundle.js: 1716 _Tokenizer @ main .688167 c….bundle.js: 1716 tokenize @ main .688167 c….bundle.js: 1709 Parser.parse @ main .688167 c….bundle.js: 219 HtmlParser.parse @ main .688167 c….bundle.js: 380 DirectiveNormalizer.normalizeLoadedTemplate @ main .688167 c….bundle.js: 598 DirectiveNormalizer.normalizeTemplateSync @ main .688167 c….bundle.js: 598 DirectiveNormalizer.normalizeDirective @ main .688167 c….bundle.js: 598 RuntimeCompiler._createCompiledTemplate @ main .688167 c….bundle.js: 1090(anonymous function) @ main .688167 c….bundle.js: 1090(anonymous function) @ main .688167 c….bundle.js: 1090 RuntimeCompiler._compileComponents @ main .688167 c….bundle.js: 1090 RuntimeCompiler._compileModuleAndComponents @ main .688167 c….bundle.js: 1090 RuntimeCompiler.compileModuleAsync @ main .688167 c….bundle.js: 1090 PlatformRef_._bootstrapModuleWithZone @ main .688167 c….bundle.js: 717 PlatformRef_.bootstrapModule @ main .688167 c….bundle.js: 717(anonymous function) @ main .688167 c….bundle.js: 1509 __webpack_require__ @ inline.js: 1(anonymous function) @ main .688167 c….bundle.js: 2131 __webpack_require__ @ inline.js: 1 window.webpackJsonp @ inline.js: 1(anonymous function) @ main .688167 c….bundle.js: 1 

I am using the latest Angular 2 CLI with webpack and Angular 2 RC.7

What could have gone wrong?

this._input.charCodeAt used only in the Angular compiler folder, as shown below: enter image description here

+8
angular webpack
source share
2 answers

May be caused by loading component code instead of a template, i.e.

 templateUrl: 'my.component' 

instead

 templateUrl: 'my.component.html' 
+44
source share

The following debugging code helped me find out which template was imported incorrectly.

Paste the following snippet into the _Tokenizer compiler in ./node_modules/@angular/compiler/bundles/compiler.umd.js (or another bundle that is used):

 function _Tokenizer(_file, _getTagDefinition, _tokenizeIcu, _interpolationConfig) { // ... try { this._advance(); } catch (e) { console.log('[Tokenizer Error]: ' + _file && JSON.stringify(_file, null, 2)); throw e; } } 

See the screenshot as an example:

enter image description here

0
source share

All Articles