Webpack 5.89.0 打包报错:ERROR in ./src/main.ts 34:49 Module parse failed: Unexpected token (34:49)

根据报错信息,这个错误是由于没有适当的加载器来处理.ts文件导致的。你需要在Webpack配置中添加合适的加载器来处理.ts文件。

首先,确保你已经安装了ts-loader,可以使用以下命令进行安装:

npm install ts-loader --save-dev

接下来,在Webpack配置文件中添加以下规则:

module: {
  rules: [
    {
      test: /.ts$/,
      loader: "ts-loader",
      exclude: /node_modules/,
    },
  ],
},
resolve: {
  extensions: ['.ts', '.js'],
},

这样配置后,Webpack会使用ts-loader来处理.ts文件,并将其转换为JavaScript代码。重新运行打包命令,应该就能解决这个错误了。

相关代码示例

// main.ts
import { createApp } from 'vue'
import '@/assets/css/reset.css'
import 'element-plus/dist/index.css'
import App from './App.vue'
import router from './router'
import store from './store'
import { globalAxios } from './request'
import 'video.js/dist/video-js.css' //videojs样式


// 引入element-plus
// import { setupElementPlus } from '@/plugins/elementPlus'

import * as ElementPlusIconsVue from '@element-plus/icons-vue'

// 使用antd

// 创建实例
const setupAll = async () => {
    const app = createApp(App)

    // 使用全局axios
    app.use(globalAxios)

    // 使用vuex
    app.use(store)

    // 使用路由
    app.use(router)

    // setupElementPlus(app)

    for (const name in ElementPlusIconsVue) {
        app.component(name, (ElementPlusIconsVue as any)[name])
    }

    router.beforeEach((to) => {
        if (to.meta) {
            to.meta.notPrefix ? (document.title = to.meta.title) : (window.document.title = '隧道信息化平台' + (to.meta.title ? '-' + to.meta.title : ''))
        }
    })

    router.isReady().then(() => app.mount('#app'))
}

setupAll()

总结

Webpack 5.89.0 打包报错“ERROR in ./src/main.ts 34:49 Module parse failed: Unexpected token (34:49)”通常是因为没有配置合适的加载器来处理 .ts 文件导致的。通过安装和配置ts-loader,可以解决该问题。

Webpack 5.89.0 打包报错:ERROR in ./src/main.ts 34:49 Module parse failed: Unexpected token (34:49)

原文地址: https://www.cveoy.top/t/topic/pkfJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录