`запуск npm «отображает веб-сайт правильно, но при построении с помощью «сборки npm» отсутствует много информации

#javascript #node.js #reactjs #npm #build

Вопрос:

ПРАВКА: Решена проблема с некоторой помощью! Я просто переместил json в исходный код и импортировал его напрямую.

Я создаю статический веб-сайт портфолио с помощью react. Я разработал веб-сайт, запустив локальный сервер, npm start и я закончил с веб-сайтом и тем, как он выглядит. Веб — сайт работает путем извлечения текста из локального файла json для заполнения определенных текстовых полей. Поскольку веб-сайт выглядел хорошо npm start , я сделал npm build , чтобы создать веб-сайт для загрузки, и стиль и формат все есть, но весь текст из файла json не отображается. Я не знаю, что здесь делать. Я также не уверен, какую информацию следует предоставить, поэтому вот package.json и структура проекта, которые могут помочь.

Вот как извлекаются данные.

 class App extends Component {   constructor(props){  super(props);  this.state = {  foo: 'bar',  resumeData: {}  };   ReactGA.initialize('UA-110570651-1');  ReactGA.pageview(window.location.pathname);   }   getResumeData(){  $.ajax({  url:'/resumeData.json',  dataType:'json',  cache: false,  success: function(data){  this.setState({resumeData: data});  }.bind(this),  error: function(xhr, status, err){  console.log(err);  alert(err);  }  });  }   componentDidMount(){  this.getResumeData();  }  

Вот содержимое моего пакета.json

 {  "name": "portfolio_site",  "version": "0.1.0",  "private": true,  "homepage": ".",  "dependencies": {  "@testing-library/jest-dom": "^5.15.0",  "@testing-library/react": "^11.2.7",  "@testing-library/user-event": "^12.8.3",  "jquery": "^3.6.0",  "react": "^17.0.2",  "react-dom": "^17.0.2",  "react-ga": "^3.3.0",  "react-scripts": "4.0.3",  "web-vitals": "^1.1.2"  },  "scripts": {  "start": "react-scripts start",  "build": "react-scripts build",  "test": "react-scripts test",  "eject": "react-scripts eject"  },  "eslintConfig": {  "extends": [  "react-app",  "react-app/jest"  ]  },  "browserslist": {  "production": [  "gt;0.2%",  "not dead",  "not op_mini all"  ],  "development": [  "last 1 chrome version",  "last 1 firefox version",  "last 1 safari version"  ]  } }  

А вот структура проекта

 portfoli_site │ firebase.json │ package-lock.json │ package.json │ ├───.firebase │ ├───.git ├───build │ │ 404.html │ │ asset-manifest.json │ │ favicon.ico │ │ index.html │ │ manifest.json │ │ resumeData.json │ │ │ ├───css │ │ │ default.css │ │ │ fonts.css │ │ │ layout.css │ │ │ magnific-popup.css │ │ │ media-queries.css │ │ │ │ │ ├───font-awesome │ │ ├───fontello │ │ └───fonts │ │ └─── /* List of Fonts */ │ │ │ ├───images │ │ ├─── /* List of Images */ │ │ └─── /* Sublist of Images */ │ │ │ ├───js │ │ init.js │ │ jquery-1.10.2.min.js │ │ jquery-migrate-1.2.1.min.js │ │ jquery.fittext.js │ │ jquery.flexslider.js │ │ magnific-popup.js │ │ modernizr.js │ │ waypoints.js │ │ │ └───static │ ├───css │ │ main.bab0b925.chunk.css │ │ main.bab0b925.chunk.css.map │ │ │ └───js │ 2.5db02833.chunk.js │ 2.5db02833.chunk.js.LICENSE.txt │ 2.5db02833.chunk.js.map │ main.e8ddd9a1.chunk.js │ main.e8ddd9a1.chunk.js.map │ runtime-main.f90b5c1b.js │ runtime-main.f90b5c1b.js.map ├───public │ │ 404.html │ │ favicon.ico │ │ index.html │ │ manifest.json │ │ resumeData.json /* WHERE MOST WEBSITE TEXT IS STORED */ │ │ │ ├───css │ │ │ default.css │ │ │ fonts.css │ │ │ layout.css │ │ │ magnific-popup.css │ │ │ media-queries.css │ │ │ │ │ ├───font-awesome │ │ ├───fontello │ │ └───fonts │ ├───images │ │ ├─── /* List of Images */ │ │ └───portfolio │ │ └─── /* Sublist of Images */ │ └───js │ init.js │ jquery-1.10.2.min.js │ jquery-migrate-1.2.1.min.js │ jquery.fittext.js │ jquery.flexslider.js │ magnific-popup.js │ modernizr.js │ waypoints.js └───src  │ App.css  │ App.js  │ App.test.js  │ index.css  │ index.js  │ registerServiceWorker.js  │  └───Components  └─── /* List of Components */  

Комментарии:

1. как вы получили json данные на своем сервере разработки, какую библиотеку вы использовали?

2. Просто обновил свой пост, чтобы показать код, который извлекает данные.

3. каков статус запроса Axios? является ли Это успехом? также можно включить функцию визуализации внутри вашего фрагмента

4. когда вы создаете приложение react, оно работает из build папки, а файла json нет, поэтому вам нужно изменить ajax URL-адрес для извлечения и также передать json.