我总是想知道如何在我的快递项目中正确添加客户端javascript。我使用Typescript,我也想在编写我的客户端javascripts时利用Typescript类型(例如jquery)。
我的项目结构如下所示:
直到今天我做了什么:
我在wwwroot/js
中创建了所有客户端javascript文件(例如jquery.min.js,registration-form.js),然后将它们加载到相应页面的标题中。
缺点:
registration-form.js
放入src/registration/
而不是wwwroot)在一些教程中,我看到他们只需运行npm install --save jquery
并将其导入客户端文件中。所以我觉得我一定错过了一些非常重要的东西,但是我找不到任何关于它的教程。
我的问题:
"正确的方式/最佳实践"在Typescript / Express应用程序中编写客户端javascript(这也应该消除上述缺点)?
答案 0 :(得分:4)
在客户端使用TypeScript与服务器端没有太大区别。
以下是您可以做的事情:
client
文件夹tsconfig.json
放入client
文件夹并将其配置为生成“es5”代码(目标:es5)就是这样,现在您可以在TypeScript中编写客户端代码了。
您可以使用tsc -p ./src
编译服务器端代码(在src
下具有服务器端tsconfig.json)并使用tsc -p ./client
编译客户端代码。
我做了一个这样的应用程序的简单示例,check it here。我将简单的脚本构建到package.json中,因此您可以运行npm run-script complie
以将服务器和客户端代码都编译到/dist
文件夹中。然后使用npm start
运行它。
进一步的步骤:
答案 1 :(得分:1)
客户端打字稿与快递无关。
Express仅适用于服务器端(即使您在电子上使用它,它仍然是服务器,而不是客户端)并且它并不真正关心客户端代码。
您使用的任何客户端框架 - set express将dist文件夹作为静态文件提供,或者直接由任何Web服务器(apache / nginx / IIS)提供