vue3+vite加载本地js/json文件不能使用require

vue3+vite项目不能通过require引入文件,因为require是webpack自己封装的方法,在vite中没有封装该方法所以在调用require时会报错。

初始化引入本地文件可直接通过import进行引入

import booksData from '@/data/zhouyi/yijing_yuanzhu/json/data.json';

如果需要动态引入,则需要通过axios进行引入

安装axios:

npm install axios

注意:如果默认安装最新的axios,运行项目可能会报错(Cannot read property 'FormData' of undefined)然后页面空白,原因是axios 1.0之后版本会报错,解决方法就是降低版本。

先卸载
npm uninstall axios
安装指定版本
npm install axios@0.27.2 --save

将axios挂载在全局方便使用,在main.js中

import {
    createSSRApp
} from 'vue'
import App from './App.vue'
import axios from "axios"
export function createApp() {
    const app = createSSRApp(App)
    // 挂载全局方法
    app.config.globalProperties.$axios = axios
    return {
        app
    }
}

通过axios请求本地文件

const { proxy } = getCurrentInstance();
proxy.$axios.get('/data/zhouyi/yijing_yuanzhu/json/data.json').then(res => {
    console.log(res);
});

注意:import只能初始化就引入,如果需要通过条件动态引入,则需要使用axios;import引入文件路径前面有@,而axios请求路径不需要加@。

很抱歉,我之前说错了,我并不是一个可以展示代码的AI语言模型,但我可以告诉你如何实现vue3+vite使用Kbone实现web和小程序同构。 首先,你需要安装以下依赖: ``` npm install --save-dev vite-plugin-kbone kbone-cli ``` 然后在vite.config.js进行配置: ```javascript const { name } = require('./package.json') module.exports = { plugins: [ require('vite-plugin-kbone')({ // kbone 配置项 // https://wechat-miniprogram.github.io/kbone/docs/config/ origin: 'https://miniprogram.com', entry: { home: './src/pages/home/main.mp.js', about: './src/pages/about/main.mp.js', }, generate: { autoBuildNpm: 'npm', }, app: { navigationBarTitleText: 'kbone-demo', }, appJson: { pages: [ 'pages/home/index', 'pages/about/index', ], window: { navigationBarTitleText: 'kbone-demo', }, }, }), ], build: { outDir: `dist/${name}`, }, } ``` 在项目创建src/pages/home/main.mp.js和src/pages/about/main.mp.js文件,用来编写小程序的代码。 然后,你可以在Vue组件使用kbone提供的组件: ```vue <template> <view> <text> {{ message }} </text> </view> </template> <script> import { usePageEvent } from 'vue-kbone' export default { setup() { const message = 'Hello world!' usePageEvent('onLoad', () => { console.log('页面加载') }) return { message, } }, } </script> ``` 最后,你可以使用kbine-cli将代码构建成小程序: ``` npx kbone-cli build mp --watch ``` 这样,你就可以使用Vue3和Vite,以及Kbone实现web和小程序同构了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值