Vue.js 在VUE中提供静态JSON文件
我试图让VueJS提供静态JSON文件。这纯粹是为了开发环境,在生产中效果良好。我需要让webpack dev server能够提供存储在/src文件夹中的JSON文件 现在,在我的应用程序入口点,我有以下内容:Vue.js 在VUE中提供静态JSON文件,vue.js,webpack,vuejs3,Vue.js,Webpack,Vuejs3,我试图让VueJS提供静态JSON文件。这纯粹是为了开发环境,在生产中效果良好。我需要让webpack dev server能够提供存储在/src文件夹中的JSON文件 现在,在我的应用程序入口点,我有以下内容: // HACK: We do this for development mode to load all assets for webpack if (process.env.NODE_ENV !== 'production') { function requireAll(r: a
// HACK: We do this for development mode to load all assets for webpack
if (process.env.NODE_ENV !== 'production') {
function requireAll(r: any) { r.keys().forEach(r); }
requireAll(require.context('./assets', true, /\.(gif|jpe?g|tiff|png|webp|bmp|json|mp3|ogg|wav)$/i));
}
这将迭代我的所有文件并“需要”它们。这诱使webpack认为我已经使用了我所有的资产。我不需要在代码中全部使用它们,因为我有一些惰性加载组件,它们需要在特定的庄园中运行。这让我可以通过http://localhost:8080/img/my-image.png
我这里的问题是,我找不到可以访问JSON文件的地方,以及如何提供这些文件。下面是加载我的JSON的代码(没有什么特别的,只是标准的XHR):
loadJson=(url:string):Promise=>{
常量解析程序=(解析:任意,拒绝:任意)=>{
const GET='GET';
常量荷载=‘荷载’;
常量错误='ERROR';
const req=new XMLHttpRequest();
请求打开(GET,url);
req.addEventListener(加载,e=>resolve(req.responseText));
请求addEventListener(错误,()=>{
拒绝(`加载失败:${url}`);
});
请求发送();
};
返回新承诺(解析器);
}
谢谢
loadJson = (url: string): Promise<string> => {
const resolver = (resolve: any, reject: any) => {
const GET = 'GET';
const LOAD = 'load';
const ERROR = 'error';
const req = new XMLHttpRequest();
req.open(GET, url);
req.addEventListener(LOAD, e => resolve(req.responseText));
req.addEventListener(ERROR, () => {
reject(`Failed to load: ${url}`);
});
req.send();
};
return new Promise(resolver);
}