【问题标题】:npm run build does not update the react componentsnpm run build 不会更新反应组件
【发布时间】:2019-01-03 14:22:11
【问题描述】:

我有一个带有以下 package.json 的 react 项目:

    {
  "name": "commonsensev2.0",
  "version": "0.1.0",
  "private": true,
  "homepage": "http://localhost:9080/server/react",
  "dependencies": {
    "all": "0.0.0",
    "axios": "^0.18.0",
    "babel-polyfill": "^6.26.0",
    "chart.js": "^2.7.3",
    "moment": "^2.23.0",
    "node-sass-chokidar": "0.0.3",
    "npm-run-all": "^4.1.5",
    "popper.js": "^1.14.6",
    "react": "^16.7.0",
    "react-bootstrap": "^0.31.5",
    "react-bootstrap-table": "^4.3.1",
    "react-chartjs2": "^1.2.1",
    "react-dom": "^16.7.0",
    "react-localize-redux": "^2.17.5",
    "react-moment": "^0.7.9",
    "react-redux": "^5.1.1",
    "react-router-dom": "^4.3.1",
    "react-scripts": "1.0.14",
    "redux": "^3.7.2"
  },
  "scripts": {
    "build-css": "node-sass-chokidar src/sass/App.scss -o src/css/",
    "watch-css": "npm run build-css && node-sass-chokidar src/sass/App.scss -o src/css/ --watch --recursive",
    "start-js": "react-scripts start",
    "start": "npm-run-all -p watch-css start-js",
    "build": "npm run build-css && react-scripts build",
    "postbuild": "((ROBOCOPY build ../react /MIR) ^& if %ERRORLEVEL% lss 8 set ERRORLEVEL = 0)",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  },
  "devDependencies": {
    "bootstrap-toggle": "^2.2.2",
    "datatables.net": "^1.10.19",
    "numeral": "^2.0.6"
  }
}

当我执行 npm run build 时,我看不到 html 页面上的更改,我使用的是节点 8.11.1,我降级了它,因为我在某处发现它可能是它不起作用的原因,我也在使用“node- sass-chokidar": "0.0.3" 后端是java服务器

【问题讨论】:

  • 是不是你的html在开发过程中没有更新?
  • 是的,当我运行 npm run build 时,html 内容没有任何变化
  • Build-css 是否生成 .css?你如何将css导入react?我做类似的事情,但我使用 sass。
  • @AndersonMendes 我也使用 sass 进行 css 导入
  • 对不起,我表达错了,我使用npm sass将scss编译成css,然后将css直接导入root 示例:"sass:build": "sass --update src/styles/scss:src/styles/css" in reactjs root import '../styles/css/component.css'

标签: node.js reactjs node-sass-chokidar


【解决方案1】:

我遇到了同样的问题,我删除了本地环境中的旧构建文件夹并再次运行 npm run build 以生成新的构建文件夹。

【讨论】:

    【解决方案2】:

    这里只是一个疯狂的猜测,但我认为你运行了错误的命令。因为build 通常是当您想要构建代码以实现将代码放在服务器上等目的时。

    您需要做的是npm run start,因为那里有watch,它会监视更改和更新。

    只是一件小事,我会将start 脚本重命名为devserve。我会说一般更常用。

    【讨论】:

    • 好吧,我正在构建代码以将其放在服务器上,只是当我执行 npm run build 以生成 css 和 js 和 html 的更新版本时,它不会更改这些更改
    • @hamzan 好的,这与我之前询问的开发不同:)。在我需要一些时间来回忆我所做的事情之前,我遇到了同样的问题。
    • 非常感谢,慢慢来
    猜你喜欢
    • 2021-03-11
    • 2021-03-26
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 2021-12-01
    • 2020-12-16
    • 1970-01-01
    • 2021-08-24
    相关资源
    最近更新 更多