我们的团队开发了一堆 JavaScript 浏览器应用程序。这些应用程序共享功能(核心)和 Web 组件(共享)。文件夹结构为:
/apps
/app-1
/app-2
...
/core
/shared
每个文件夹包含一个src
文件夹。
考虑在文件夹中使用 snowpackapp-1
我想引用其中的 js 文件/core/src
或/shared/src
两者都用于开发(使用snowpack dev
)和打包(使用snowpack build
)
- 这可能吗?
- 是否有最佳实践如何实现这一目标?
- 是否有这种情况(或类似情况)的例子
我尝试了什么:
第 1 步:我使用了这样的路径:../../core/src/router.js
. 这不起作用,可能是因为资源位于测试服务器的 webroot 之外 ( snowpack dev
)。
第 2 步:我创建了两个符号链接:
apps/app-1/src/@core -> ../../../core/src
apps/app-1/src/@shared -> ../../../shared/src
现在本地服务器找到了所有资源。然而,构建过程只找到了那些是core/src
or的直接子shared/src
文件的文件,但没有找到子文件夹中的任何文件,例如shared/src/component/filter.js
.
有什么想法或想法吗?
附录
snowpack.config.json
app-1 的:
{
"devOptions": {
"port": 8082,
"open": "none"
},
"mount": {
"public": "/",
"src": "/_dist_"
},
"plugins": [
"@snowpack/plugin-babel",
"@snowpack/plugin-dotenv",
"@snowpack/plugin-sass"
]
}
导入示例app-1/src/handler
:
import { loadRoute } from '../@core/router' // works fine
import '../@shared/component/filter' // does not work
// or:
import { loadRoute } from '../@core/router.js' // works fine, too
import '../@shared/component/filter.js' // does not work neither