微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angular – WebStorm(v2.3.1):文件更改后的实时重新加载(html)不起作用. SyntaxError:位于0的JSON中的意外标记<

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐