Initial seed,没有任何改变.
Windows 7,npm 4.0.1,节点v6.8.1,TypeScript 2.0.10
这是Chrome控制台(屏幕截图):
VM661:1 Uncaught SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse (<anonymous>) at http://localhost:5555/app/system-config.js:1:20 (anonymous function) @ system-config.ts:2
在重新加载时,’<%= SYSTEM_CONFIG_DEV%>‘不能解释,无论问题是什么,都是时间或与订单有关.
消息Unexpected token<代表< '<%= SYSTEM_CONFIG_DEV%>‘
WebStorm TypeScript设置:
WebStorm“安全写入”激活:
进一步调查(23.12.2017):
我们还有这个问题,禁用TypeScript编译器并不能解决问题.
问题的出发点在这里(src / client / app / system-config.ts):
System.config(JSON.parse('<%= SYSTEM_CONFIG_DEV %>'));
在html更改后,以<%= ...开头的模板未在重新加载时进行评估:
'<%= SYSTEM_CONFIG_DEV %>'
这是什么样的模板? EJS ?种子中的这种依赖在哪里?我有2个怀疑:
1)Windows上的Express服务器重新加载EJS模板有问题吗?
2)由于js-libraries的注入顺序,EJS不会被评估?
我修改了start.deving.ts,现在它也适用于windows:
gulp.task('watch.while_deving',function () { watchAppFiles('**/!(*.ts)',(e: any,done: any) => runSequence('build.assets.dev','build.html_css','build.js.dev','build.index.dev',() => { notifyLiveReload(e); done(); })); watchAppFiles('**/(*.ts)',done: any) => runSequence('build.js.dev',() => { notifyLiveReload(e); runSequence('build.js.test','karma.run.with_coverage',done); })); });
试试吧:npm run start.deving