我坚持使用一个使用aspx页面的旧软件.我有一些控件(ascx)几乎可以作为一个小的单页应用程序工作(例如,一个控件,让您注册一个时事通讯,或一个控件,让用户自定义新闻源).(我知道......它不是真正的SPA ...)
我开始在这个小型微项目中使用VUE.js.我设法使用纯JavaScript完成所有工作.
现在我想使用typescript而不是JavaScript.
我遇到的问题:当我创建我的typescripts并引用一些模块如VUE或我自己的时,它总是在生成的js文件中写入一些" require "命令(转换为ES5)或一些Import命令(如果转换为ES6).
据我所知,这些命令应该由服务器上的某些模块加载器使用.但我没有Node.Js服务器,也没有Javascript构建基础架构.有没有办法告诉打字稿只是忽略这些命令?然后,我将手动引用所需的JS-genereated文件,其中的模块不包含在ascx-control中.
And*_*uca 13
在你tsconfig.json的module财产应该是none
{
"compilerOptions": {
"module": "none",
}
}
Run Code Online (Sandbox Code Playgroud)
现在没有更多amd或system代码.现在你不能再使用import和export陈述了.
如果没有这个,TypeScript不知道脚本的顺序,你可以有Js未定义的错误.
要解决这个问题,只需添加一个tripple斜杠指令而不是import语句
现在TypeScript以正确的顺序编译所有脚本.
也可以使用outFile而不是out因为不推荐使用.
当然可以。您只需配置 tsc 即可输出代码,而无需模块加载器语句。
例如,将所有代码放入一个大文件中。
{
"compilerOptions": {
"target": "es5",
"outFile": "www/js/bundle.js",
"sourceMap": true,
"declaration": true,
"removeComments": true,
"sourceRoot": ""
}
}
Run Code Online (Sandbox Code Playgroud)
这可能会限制您对 ES6 import 语句的使用。您可能必须改用打字稿定义的命名空间。
| 归档时间: |
|
| 查看次数: |
6084 次 |
| 最近记录: |