4

我很乐意在我的服务器端代码中导入一个 .vue 文件。深深地,我还没有真正使用 *.vue 文件导出,但是客户端和服务器端的一些代码很常见,并引用这些文件。

我现在将 ts-node 用于开发/调试,并使用 webpack 将我的客户端代码与我的 *.vue 文件捆绑在一起。

我尝试了许多解决方案,但发现没有一个真正有效 - 甚至 tsConfig.json 中引用的 .d.ts

declare module '*.vue' {
    import Vue = require('vue')
    const value: Vue.ComponentOptions<Vue>
    export default value
}

有谁知道一个优雅的解决方案,还是我应该辞职以将 webpack 也用于服务器端?(我有犹豫,因为只有客户端编译的编译已经很慢了)

4

1 回答 1

0

我建议将客户端和服务器通用的代码提取到单独的目录或包中,然后您可以在服务器和客户端代码中导入此代码。

我不确定您是如何设置项目的,但解决此问题的一种方法是使用 monorepo 设置(您可以查看lernanpm workspacesyarn workspaces)。另一种方法是将通用代码放在充当自己的 npm 包的目录中,并带有自己的 package.json 文件。然后从客户端和服务器代码中的 package.json 文件中,您可以将公共包引用为依赖项,并使用file:../path/to/common url 从您的 npm 目录指向本地目录。

于 2021-08-13T12:54:02.717 回答