Модуль Npm не найден, от npm до пряжи после слияния двух разных проектов - PullRequest
0 голосов
/ 19 июня 2019

У меня проблемы с изменением внешнего интерфейса, который работает с Django rest framework (на том же порту).Интерфейс основан на React.Итак, у меня была моя старая папка src React, которая сначала работала с npm, и я получил новый интерфейс, который мне нужно начать с yarn (он также работает и с npm start, до реализации в папке Django).Так что теперь я просто заменил папки src и запустил npm install, но я вижу, что package.json не обновляется.В моем src / index.js у меня была реальная разница, поэтому в первой папке src (старый шаблон) у меня было только

import App from './components/App';

Поэтому я изменил ее на

import NextApp from './NextApp';

, потому чтоэто был основной файл реакции ... но во втором, новом шаблоне у меня был src / index.js, такой как

import React from "react";
import ReactDOM from "react-dom";

import NextApp from './NextApp';
import registerServiceWorker from './registerServiceWorker';
// Add this import:
import {AppContainer} from 'react-hot-loader';

// Wrap the rendering in a function:
const render = Component => {
  ReactDOM.render(
    // Wrap App inside AppContainer
    <AppContainer>
      <NextApp/>
    </AppContainer>,
    document.getElementById('root')
  );
};

// Do this once
registerServiceWorker();

// Render once
render(NextApp);

// Webpack Hot Module Replacement API
if (module.hot) {
  module.hot.accept('./NextApp', () => {
    render(NextApp);
  });
}

Так что теперь мне нужно проверить public / index.html, но мой index.htmlв Django Framework находился в папке root / templates / frontend / index.html, поэтому у меня не было общей папки, но у меня была общая папка в новом шаблоне, которая была в корневом каталоге, а public.html был как обычное приложение React, страница с надписью «Вам нужно включить JavaScript, чтобы запустить это приложение».с CSS-файлами и некоторыми скриптами в шапке.Поэтому я просто изменил сценарии и CSS-файлы, и root / templates / frontend / index.html выглядит следующим образом (как первый шаблон)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json">
  <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
  <link rel="stylesheet" href="/loader.css"/>
  <!-- Here are scripts and css files -->

    <title>eComet</title>
</head>
<body>
    <div id="app"></div>
    {% load static %}
    <script src="{% static "frontend/main.js" %}"></script>
</body>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
</html>

Итак, я также просто скопировал / вставилновый package.json к старому и запустить npm install, все устанавливается нормально (я думаю), и когда я запускаю npm run, чтобы проверить первый npm, он выдает следующее:

Error: Cannot find module 'C:\Users\Rade\Desktop\ai/config-overrides'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
    at Function.Module._load (internal/modules/cjs/loader.js:508:25)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (C:\Users\Rade\Desktop\ai\node_modules\react-app-rewired\config-overrides.js:5:18)
    at Module._compile (internal/modules/cjs/loader.js:701:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! Wieldy@1.5.0 start: `react-app-rewired start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the Wieldy@1.5.0 start script.
    print(foo)

После этого я попробовал пряжуstart, та же проблема.

Так что, очевидно, мой стартовый скрипт был проблемой.Я попытался добавить старый стартовый скрипт (это был стартовый скрипт из старого реактивного скрипта, который был реализован в Django), который выглядит следующим образом.

"dev": "webpack --mode development --watch ./ecomet/frontend/src/index.js --output ./ecomet/frontend/static/frontend/main.js",
    "build": "webpack --mode production ./ecomet/frontend/src/index.js --output ./ecomet/frontend/static/frontend/main.js"
  },  

Запущен снова npm install и npm install webpack и получил только

npm ERR! missing script: start

npm ERR! A complete log of this run can be found in:

и вот так выглядит стартовый скрипт package.json, когда я заменил старый package.json новым из нового шаблона:

"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired --env=jsdom"

Итак, во-первых, у старого шаблона был веб-пакети в новом у меня была пряжа.Вот как выглядит wabpack.config.js:

module.exports = {
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use: {
                    loader: "babel-loader"
                }
            }
        ]
    }
}

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...