Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

node_modules file support #5

Closed
thetime50 opened this issue Jun 14, 2022 · 7 comments
Closed

node_modules file support #5

thetime50 opened this issue Jun 14, 2022 · 7 comments
Labels
enhancement New feature or request

Comments

@thetime50
Copy link

thetime50 commented Jun 14, 2022

thanks,is works,我fork了你的代码添加了json文件的支持,
https://github.com/CaptainLiao/vite-plugin-webpackchunkname

但是我无法在 node_modules 的文件上设置chunkname,我不知道该怎么处理

const Vue3Lottie = async () =>
(await import(/* webpackChunkName: "vue-lottie" */ "vue3-lottie")).Vue3Lottie;

如果删除了transform里面的这这一句代码就会报下面的错误

我稍后会补充一个实例项目地址

https://github.com/thetime50/front-laboratory/tree/master/vue3-tsv

[vite]: Rollup failed to resolve import "vue3-lottie?chunkName=vue-lottie" from "src/pages/demo/demo.vue".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`
error during build:
Error: [vite]: Rollup failed to resolve import "vue3-lottie?chunkName=vue-lottie" from "src/pages/demo/demo.vue".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`
    at onRollupWarning (D:\work\ytt-pc-1\node_modules\vite\dist\node\chunks\dep-8f5c9290.js:41772:19)
    at onwarn (D:\work\ytt-pc-1\node_modules\vite\dist\node\chunks\dep-8f5c9290.js:41588:13)
    at Object.onwarn (D:\work\ytt-pc-1\node_modules\rollup\dist\shared\rollup.js:23224:13)
    at ModuleLoader.handleResolveId (D:\work\ytt-pc-1\node_modules\rollup\dist\shared\rollup.js:22508:26)
    at ModuleLoader.resolveDynamicImport (D:\work\ytt-pc-1\node_modules\rollup\dist\shared\rollup.js:22560:120)
    at D:\work\ytt-pc-1\node_modules\rollup\dist\shared\rollup.js:22455:32
@CaptainLiao
Copy link
Owner

CaptainLiao commented Jun 15, 2022

不清楚你在@time50/vite-plugin-webpackchunkname中更改了啥导致了上面的报错...

在我的电脑中 clone 了上述代码,并使用vite-plugin-webpackchunkname,访问http://localhost:3000/#/lottieDemo,页面显示正常,控制台也没有报错。npm run build 也正常输出了。

看起来vite-plugin-webpackchunkname也支持解析json呀 😰

@thetime50
Copy link
Author

抱歉没有及时回复消息

要看到出错效果要做一些编辑,

  1. 使用这个版本的示例项目 git checkout 64d1e6ca54ccd7d7b87a49023f33803d5f261e26
  2. 在示例项目中 cd vue3-tsv\node_modules@time50\vite-plugin-webpackchunkname 进入到依赖的插件目录中
    2.1 在这个插件目录下 执行npm install
    2.2 删除 vite-plugin-webpackchunkname/src/index.ts 第69行的 && !nodeModuleIdSets.has(id)
    2.3在这个插件目录下 执行 npm run build 重新打包插件
  3. 在 vue3-ts 项目目录执行npm run build 就可以看到上面的报错了

@CaptainLiao
Copy link
Owner

CaptainLiao commented Jun 27, 2022

抱歉没有及时回复消息

要看到出错效果要做一些编辑,

  1. 使用这个版本的示例项目 git checkout 64d1e6ca54ccd7d7b87a49023f33803d5f261e26
  2. 在示例项目中 cd vue3-tsv\node_modules@time50\vite-plugin-webpackchunkname 进入到依赖的插件目录中
    2.1 在这个插件目录下 执行npm install
    2.2 删除 vite-plugin-webpackchunkname/src/index.ts 第69行的 && !nodeModuleIdSets.has(id)
    2.3在这个插件目录下 执行 npm run build 重新打包插件
  3. 在 vue3-ts 项目目录执行npm run build 就可以看到上面的报错了

是的,根据你提供的步骤,build 报错了。

我的问题是:原[email protected]有什么地方不满足你的需求么,以至你fork了一份并做了更改。

因为我在git checkout 64d1e6ca54ccd7d7b87a49023f33803d5f261e26这个版本中,使用[email protected],build 后正确输出了结果。

如果你的问题是——我fork了你的代码添加了json文件的支持,那我个人认为不需要做任何更改,原插件就支持 json。

P.S.使用本插件遇到了任何问题,请提供下复现链接/仓库吧(尽量不要用你自己修改的版本)。。。

感谢~~~

@thetime50
Copy link
Author

我的需求

  1. node_module里的文件也可以通过webpackChunkName 来指定生成的文件
  2. 使用您的原插件, json文件设置的webpackChunkName 并没有生效
    我提供了使用原插件的manualChunksPlugin-test'分支

使用原插件打包
image

添加json文件支持后
image

感谢您的解答

@CaptainLiao CaptainLiao added the enhancement New feature or request label Jun 28, 2022
@CaptainLiao
Copy link
Owner

vite 目前不能解析带有查询后缀的第三方库。譬如这样: import( "vue3-lottie?chunkName=vue-lottie")

我给vite提了PR,只能等他们merge了,要不没法实现你想要的功能。

@CaptainLiao
Copy link
Owner

抱歉,他们不同意更改

@thetime50
Copy link
Author

谢谢你耐心解答

@CaptainLiao CaptainLiao closed this as not planned Won't fix, can't repro, duplicate, stale Jul 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants