vite打包出現(xiàn)?"default"?is?not?exported?by?"node_modules/...問(wèn)題解決辦法
項(xiàng)目場(chǎng)景:
vue3+ts+vite項(xiàng)目打包
問(wèn)題描述
// codemirror 編輯器的相關(guān)資源
import Codemirror from 'codemirror';
error during build:
RollupError: "default" is not exported by "node_modules/vue/dist/vue.runtime.esm-bundler.js", imported by "node_modules/@kangc/v-md-editor/lib/codemirror-editor.js".
at error (file:///D:...原因分析:
報(bào)錯(cuò)意思是導(dǎo)入的js文件沒(méi)有默認(rèn)導(dǎo)出
解決方案:
有兩種方法
1.修改node_modoules下的文件源碼
在前面加上expoert default
export default (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, global.CodeMirror = factory());
}(this, (function () {
'use strict';為這個(gè)js文件添加一個(gè)默認(rèn)導(dǎo)出
不太推薦這個(gè)方法,雖然比較簡(jiǎn)單
2.安裝@rollup/plugin-commonjs插件,vite-plugin-require-transform插件
@rollup/plugin-commonjs可以將commonjs模塊轉(zhuǎn)換層es6模塊
但只會(huì)對(duì)require生效
所以需要將導(dǎo)入改為require格式
(1)安裝插件
npm i @rollup/plugin-commonjs npm i vite-plugin-require-transform
(2)添加配置
在vite.config.ts配置中添加插件,注意commonjs()必須在上面,否則可能不生效
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import commonjs from '@rollup/plugin-commonjs';//引入commojs
import requireTransform from 'vite-plugin-require-transform';//引入require
export default defineConfig({
plugins: [
commonjs() as any,
//我的入口文件是ts類(lèi)型,所以下面必須加上.ts$,否則在main.ts無(wú)法使用require
requireTransform({
fileRegex: /.js$|.vue$|.png$|.ts$|.jpg$/
}) //配置require
vue(),
],
}(3)將main.ts中的導(dǎo)入改為require
// codemirror 編輯器的相關(guān)資源
const Codemirror = require('codemirror');總結(jié)
到此這篇關(guān)于vite打包出現(xiàn) "default" is not exported by "node_modules/...問(wèn)題解決辦法的文章就介紹到這了,更多相關(guān)vite打包default is not exported by node_modules/...內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 解決vite build打包后頁(yè)面不能正常訪問(wèn)的情況
- vue3+ts+vite打包后靜態(tài)資源404無(wú)法加載js和css問(wèn)題解決辦法
- vite打包只生成了一個(gè)css和js文件問(wèn)題的解決方法
- 關(guān)于vite+vue3打包部署問(wèn)題
- vite打包優(yōu)化分片打包依賴(lài)包詳解
- Vue3在history模式下如何通過(guò)vite打包部署白屏
- 解決vite打包后白屏之router-view不生效問(wèn)題
- VUE3?Vite打包后動(dòng)態(tài)圖片資源不顯示問(wèn)題解決方法
- vite分目錄打包及去掉默認(rèn)的.gz?文件的操作方法
- VUE3項(xiàng)目VITE打包優(yōu)化的實(shí)現(xiàn)
- Vite中Rollup打包的實(shí)現(xiàn)
相關(guān)文章
如何用vue3+Element?plus實(shí)現(xiàn)一個(gè)完整登錄功能
要實(shí)現(xiàn)用戶(hù)的登錄功能,可以使用Vue3和Element?Plus,下面這篇文章主要給大家介紹了關(guān)于如何基于Vue3和Element?Plus組件庫(kù)實(shí)現(xiàn)一個(gè)完整的登錄功能,文中提供了詳細(xì)的代碼示例,需要的朋友可以參考下2023-10-10
使用Vue實(shí)現(xiàn)調(diào)用接口加載頁(yè)面初始數(shù)據(jù)
今天小編就為大家分享一篇使用Vue實(shí)現(xiàn)調(diào)用接口加載頁(yè)面初始數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
Vue3整合WangEditor富文本編輯器的實(shí)踐指南
這篇文章主要為大家詳細(xì)介紹了如何在?Vue?3?項(xiàng)目中集成?WangEditor?富文本編輯器,實(shí)現(xiàn)圖文混排、自定義擴(kuò)展等高階功能,感興趣的小伙伴可以了解下2025-03-03
Vue3?實(shí)現(xiàn)一個(gè)自定義toast?小彈窗功能
這篇文章主要介紹了Vue3?實(shí)現(xiàn)一個(gè)自定義toast?小彈窗,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09
解決Vue開(kāi)發(fā)中對(duì)話(huà)框被遮罩層擋住的問(wèn)題
在Vue的開(kāi)發(fā)中,一旦我們用到對(duì)話(huà)框,經(jīng)常出現(xiàn)的問(wèn)題是對(duì)話(huà)框被遮罩層擋住,怎么來(lái)解決這個(gè)問(wèn)題呢?下面小編給大家?guī)?lái)了Vue開(kāi)發(fā)中對(duì)話(huà)框被遮罩層擋住的問(wèn)題及解決方法,一起看看吧2018-11-11
Vue自定義render統(tǒng)一項(xiàng)目組彈框功能
這篇文章主要介紹了Vue自定義render統(tǒng)一項(xiàng)目組彈框功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06

