Javascript 奇数角2和巴贝尔透明
将Angular 2与Typescript一起使用。与Webpack捆绑并使用babili插件。我收到一个错误:Javascript 奇数角2和巴贝尔透明,javascript,angular,typescript,babeljs,Javascript,Angular,Typescript,Babeljs,将Angular 2与Typescript一起使用。与Webpack捆绑并使用babili插件。我收到一个错误:未捕获的语法错误:意外令牌? 我将其追溯到这个传输片段: z=/^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\w\d\-\u0100-\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/ 攻击性的部分是?:// 我在@angular/compiler中进一步跟踪到了url_re
未捕获的语法错误:意外令牌?
我将其追溯到这个传输片段:
z=/^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\w\d\-\u0100-\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/
攻击性的部分是?://
我在@angular/compiler中进一步跟踪到了url_resolver.js
var /** @type {?} */ _splitRe = new RegExp('^' +
'(?:' +
'([^:/?#.]+)' +
// used by other URL parts such as :,
// ?, /, #, and .
':)?' +
'(?://' +
'(?:([^/?#]*)@)?' +
'([\\w\\d\\-\\u0100-\\uffff.%]*)' +
// digits, dashes, dots, percent
// escapes, and unicode characters.
'(?::([0-9]+))?' +
')?' +
'([^?#]+)?' +
'(?:\\?([^#]*))?' +
'(?:#(.*))?' +
'$');
```
该行的内容为:”(?:/”+
如果我编辑传输的代码以删除/
,一切似乎都正常。如果我将其更改为\/\/
,一切似乎正常
显然,我不能在每次构建时都编辑这个文件。问题是我不知道实际的问题在哪里。是babel还是angular代码?我讨厌把他们的问题弄得乱七八糟(angular问题在提交指南中非常严格),所以我想我应该问这个优秀的社区
如果需要,请提供一些附加信息: tsconfig:
{
"compilerOptions": {
"target": "es5",
"module": "es5",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false,
"types": []
},
"exclude": [
"typings",
"node_modules",
"server"
],
"files": []
}
B.法律改革委员会
{
"presets": ["es2015"]
}
webpack.config.js的相关部分(希望如此)
atlOptions = 'transpileOnly=true&configFileName=tsconfig.prod.json'
config.module.rules.push({
test: /\.ts$/,
loaders: ['awesome-typescript-loader?' + atlOptions, 'angular2-template-loader', '@angularclass/hmr-loader'],
exclude: [/\.(spec|e2e)\.ts$/, /node_modules\/(?!(ng2-.+))/]
})
config.plugins.push(new BabiliPlugin({comments: false, mangle: false}))
现在我还没有开发工作流程的babel功能,所以这不会在那里造成问题——只是用于生产构建