我使用Angular 2 CLI创建了一个Angular 2项目并使用了ng build --prod
命令并且没有错误。
当我将dist
文件夹上传到我的网站时,我在应用加载时收到以下错误:
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
我正在使用最新的Angular 2 CLI和webpack以及Angular 2 RC.7
可能出了什么问题?
答案 0 :(得分:46)
可能是由加载组件代码而不是模板引起的,即
templateUrl: 'my.component'
而不是
templateUrl: 'my.component.html'
答案 1 :(得分:1)
原始加载程序已更改。需要xlf文件时,必须使用 .default 。
const translations = require('raw-loader!./i18n/messages.ko.xlf').default;
在我的角度项目中将@ ngx-translate / i18n-polyfill更新为1.0.0版本时,我遇到了同样的问题。当我实施上述更改时,问题已解决
答案 2 :(得分:0)
以下调试代码帮助我找到了错误导入的模板。
将下一个代码段注入_Tokenizer
(或其他使用的捆绑包)中编译器的./node_modules/@angular/compiler/bundles/compiler.umd.js
:
function _Tokenizer(_file, _getTagDefinition, _tokenizeIcu, _interpolationConfig) {
// ...
try {
this._advance();
} catch (e) {
console.log('[Tokenizer Error]: ' + _file && JSON.stringify(_file, null, 2));
throw e;
}
}
以屏幕截图为例: