Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 在VUE中提供静态JSON文件_Vue.js_Webpack_Vuejs3 - Fatal编程技术网

Vue.js 在VUE中提供静态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

我试图让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: 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);
  }