将JS项目转换为TypeScript

时间:2019-01-17 21:55:58

标签: javascript typescript vue.js webpack module

我有一个这样组织的项目(网络界面):

    Directory: L:\root-of-project


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       16/01/2019     11:25                .git
d-----       16/01/2019     11:38                node_modules
d-----       16/01/2019     11:25                src
-a----       16/01/2019     11:07            403 package.json
-a----       20/12/2018     17:13           2541 README.md
-a----       ...[OTHER FILES]...


    Directory: L:\root-of-project\src


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       16/01/2019     11:10                main
d-----       16/01/2019     09:32                static
-a----       16/01/2019     11:25          23274 index.html


    Directory: L:\root-of-project\src\main


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       16/01/2019     11:10                a-folder-with-js-files
d-----       16/01/2019     11:10                another-folder-with-js-files
d-----       ...[OTHER DIRECTORIES]...
d-----       16/01/2019     11:25                vue-components-folder
-a----       16/01/2019     11:08           5673 file1.js
-a----       15/01/2019     16:24           2830 file2.ts
-a----       ...[OTHER FILES]...


    Directory: L:\root-of-project\src\main\vue-components-folder


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       16/01/2019     11:10                a-vue-component-folder
d-----       16/01/2019     11:10                another-vue-component-folder
d-----       ...[OTHER DIRCTORIES]...


    Directory: L:\root-of-project\src\main\vue-components-folder\a-vue-component-folder


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       15/01/2019     21:16            389 a-vue-component.interface.ts
-a----       15/01/2019     16:14           4892 a-vue-component.js
-a----       15/01/2019     13:36            576 style.css

我正在尝试将其文件从JavaScript转换为Typescript,但在将Typescript与Vue.js结合使用时遇到了一些困难,而在模块方面还有其他困难:当我翻译Typescript模块时,浏览器无法读取它因为它抱怨所有模块都必须与index.html放在同一目录中(我得到的错误类似于该import statement may only appear at the top level)。

(上面列表中的某些文件已经是.ts,因为不包含对其他文件的依赖性)

我应该遵循哪种方法才能继续使用TypeScript将多个文件划分为多个文件夹? (有关更多信息,该项目托管于here。我正在使用VS Code进行开发)

1 个答案:

答案 0 :(得分:0)

  

当我翻译一个打字稿模块时,浏览器无法读取它,因为它抱怨所有模块必须与index.html放在同一目录中

您不应将模块发布到浏览器。相反,您应该使用webpack(https://webpack.js.org/)之类的东西将它们捆绑到浏览器中。

由于您有一个全栈应用程序,因此需要编译TS两次: *使用tsc一次访问node.js *一次用于使用webpack的浏览器

其他资源