dem*_*lus 6 npm typescript webpack visual-studio-code vscode-settings
我们使用打字稿和 webpack。所有代码都在一个仓库中。该产品是一个游戏,因此需要共享状态和对象,因此它有 3 个不同的主文件夹。
共享代码用于后端和前端。服务器代码不应由共享或客户端导入,否则会产生安全风险。
我们之前不小心导入了服务器代码,这导致了我们需要更改所有密钥的安全问题。我们没有建立任何系统来防止这种情况再次发生。
一种方法是将服务器和客户端分解为 2 个不同的项目,但这会花费大量时间并过多地增加复杂性。
另一种方法是运行一个脚本来检测服务器代码是否已导入到 Shared 或 Client。我可以用 python 来做,并在我们推送代码时让它运行。但是有了 VSCode 的所有功能,我相信他们可能有这样的东西。或者 npm 有这样的库。
任何帮助表示赞赏。
如果您使用ESLint (它也有VS Code 插件) ,您可以使用级联配置和受限导入。自动完成仍然会建议导入,但至少它们会立即被标记为红色和波浪形。
\n目录设置保持不变,但添加了配置文件:
\ncode\n\xe2\x94\x9c client\n\xe2\x94\x82 \xe2\x94\x94 .eslintrc\n\xe2\x94\x9c server\n\xe2\x94\x82 \xe2\x94\x94 .eslintrc\n\xe2\x94\x94 .eslintrc\nRun Code Online (Sandbox Code Playgroud)\n这里的关键说明是根目录.eslintrc包含您的主要规则,而.eslintrc子目录中的文件可以扩展它,如本答案所示。您可以在文档中找到有关如何配置它的更多信息。
这将允许您设置支持基于路径和基于模式的限制的受限导入:
\ncode\n\xe2\x94\x9c client\n\xe2\x94\x82 \xe2\x94\x94 .eslintrc\n\xe2\x94\x9c server\n\xe2\x94\x82 \xe2\x94\x94 .eslintrc\n\xe2\x94\x94 .eslintrc\nRun Code Online (Sandbox Code Playgroud)\n然后,您可以禁止在客户端和共享子目录中导入服务器代码。
\n| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |