lisonge / vite-plugin-monkey

A vite plugin server and build your.user.js for userscript engine like Tampermonkey, Violentmonkey, Greasemonkey, ScriptCat
MIT License
1.31k stars 70 forks source link

无法加载less文件 #87

Closed memset0 closed 1 year ago

memset0 commented 1 year ago

RT,我尝试按照一般 vite 项目的方式配置 less,但似乎并不能起作用:

我的 vite.config.js 配置如下:

import { defineConfig } from 'vite'
import monkey from 'vite-plugin-monkey'
import config from './src/config'

export default defineConfig({
  server: {
    host: true,
    strictPort: 5174,
  },
  plugins: [
    monkey({
      entry: 'src/main.ts',
      userscript: {
        // icon: 'https://vitejs.dev/logo.svg',
        namespace: 'memset0/CPAssistant',
        match: config.match,
      },
      build: {
        externalGlobals: {
        },
      },
    }),
  ],
  css: {
    preprocessorOptions: {
      less: {
        javascriptEnabled: true,
      },
    },
  },
})

vite 产生了如下报错

$ vite
✘ [ERROR] No loader is configured for ".less" files: src/modules/vjudge/style/index.less

    src/modules/vjudge/features/CustomStyle.ts:2:7:
      2 │ import '../style/index.less'
        ╵        ~~~~~~~~~~~~~~~~~~~~~
failed to load config from D:\Code\Git\CPAssistant.js\vite.config.js
error when starting dev server:
Error: Build failed with 1 error:
src/modules/vjudge/features/CustomStyle.ts:2:7: ERROR: No loader is configured for ".less" files: src/modules/vjudge/style/index.less
(...error stack)

btw,我试图让 dev 服务器监听 0.0.0.0,但似乎也失败惹

lisonge commented 1 year ago

我尝试按照一般 vite 项目的方式配置 less,但似乎并不能起作用

当前项目存在 less 的依赖吗

pnpm add less

我试图让 dev 服务器监听 0.0.0.0

https://github.com/lisonge/vite-plugin-monkey/blob/133f6cc393c3785b28a0391c927ea0bae971ea0a/packages/vite-plugin-monkey/src/node/plugins/server.ts#L33-L41

插件当前不支持 0.0.0.0 ,但是貌似是可以支持的,我后续看看

memset0 commented 1 year ago

当前项目存在 less 的依赖吗

存在,但我使用 yarn 作为包管理工具,会有不兼容的问题吗

lisonge commented 1 year ago

会有不兼容的问题吗

我认为不会,而且这个应该不是 vite-plugin-monkey 的原因,你可以将 vite-plugin-monkey 的部分代码注释掉

根目录添加 index.html 内容是 <script type="module" src="/src/main.ts"></script> 然后使用 vite build 看看能否成功

lisonge commented 1 year ago

或者你将复现代码压缩上传到 github issues 评论区给我测试也行

memset0 commented 1 year ago

或者你将复现代码压缩上传到 github issues 评论区给我测试也行

我把他 push 到 这个仓库 的 master 分支了

如果您能帮忙看一下的话,我十分感谢!

memset0 commented 1 year ago

会有不兼容的问题吗

我认为不会,而且这个应该不是 vite-plugin-monkey 的原因,你可以将 vite-plugin-monkey 的部分代码注释掉

根目录添加 index.html 内容是 <script type="module" src="/src/main.ts"></script> 然后使用 vite build 看看能否成功

这个我刚刚尝试了一下,确实也是同样的报错

lisonge commented 1 year ago

我把他 push 到 这个仓库 的 master 分支了

我并没有在 这个仓库 找到 less 文件

memset0 commented 1 year ago

我把他 push 到 这个仓库 的 master 分支了

我并没有在 这个仓库 找到 less 文件

抱歉,刚才因为网络原因没有成功 push 上来,现在应该有了

lisonge commented 1 year ago

image

去掉 vite.config.js 里的 import config from './src/config' 即可

image

memset0 commented 1 year ago

image

去掉 vite.config.js 里的 import config from './src/config' 即可

image

wow,感谢指教

你这么一说我好像知道为什么了