Closed OSpoon closed 3 months ago
@dyf19118,hi~,为什么会需要 isBrowserOnly
选项,并且在输出 index.js
时,选择了关闭呢?
@dyf19118,hi~,为什么会需要
isBrowserOnly
选项,并且在输出index.js
时,选择了关闭呢?
输出的默认入口index.js是支持在有编译的环境下使用的。
无编译环境用index.browser.js
我看web-component-development这个包升级了quarkc的版本,但是没有处理单元测试runner的配置,runner运行时需要定义下process.env.NODE_ENV全局变量。
具体可以参考quark-core工程下的单元测试
hi~,@dyf19188, 按照我提供的步骤执行 quark-core 中的单元测试同样会收到找不到 process 的错误提示,我尝试过将 quark-core 中的单元测试移植到 web-component-development 但是失败了。
这是我在 quark-core 基础上剥离出来的单测部分,正如我的疑问一样,单元测试在加载编译后的 quarkc 模块会导致加载失败。 PS:https://github.com/OSpoon/quark-core-test.git
hi~,@dyf19188, 按照我提供的步骤执行 quark-core 中的单元测试同样会收到找不到 process 的错误提示,我尝试过将 quark-core 中的单元测试移植到 web-component-development 但是失败了。
有些许差异。在quark-core中单元测试是直接引用的源码而非产物。你发给我的仓库是直接引用的打包后的作为入口文件的产物,这个文件默认情况下是需要工作在有编译环境的——无论是webpack还是vite等等。而单元测试工具默认不会处理process全局变量,你可以参考下 https://modern-web.dev/guides/dev-server/using-plugins/#rollup-replace-plugin 这篇文章的做法。我已经把你仓库拉下来做修改测试过了。
Great~,Thanks for your help, my unit tests are running normally.
描述
编译后的 quarkc 模块会导致单元测试加载失败,通过源码导入可以正常执行。
目标
使用编译后的 quarkc 可以正常运行单元测试。
步骤:
git clone https://github.com/hellof2e/quark-core.git
pnpm i && cd packages/core && pnpm pnpm build
QuarkElement
和customElement
指向 "../../lib" (构建输出目录)pnpm test
截图:
PS:
我将 web-component-development 的依赖版本升级到最新后发现了这个问题,
quarkc@1.0.58
版本是没有问题的。