每次进行更改时是否都需要运行“npm run build”?

Kyi*_*Zin 9 javascript node.js reactjs

首先,我对 NPM 的东西真的很陌生。但我知道 React 和 PHP。所以我想自己创建一个 CMS 系统,使用 PHP 作为后端,React 作为前端,在 Babel 和 React 的 CDN 的帮助下(以及 ofc axios 进行数据请求和发送)。但是,我确实想通过 webpack 和实际网站进入更正确的方式。所以,我遵循了这篇文章中的教程。他解释的很特别。但是,他使用 HTML,而在我的情况下,我使用的是 PHP。所以因为我不完全清楚我在做什么。我已将 HTMLWebPlugin 重定向到 webpack.config.js 中的 PHP 文件。

plugins: [
new HtmlWebPackPlugin({
  template: "./../index.php",
  filename: "./index.php"
})
Run Code Online (Sandbox Code Playgroud)

但是,当我更改代码并刷新它时,除非我下次运行“npm run build”,否则网页将无法适应更改。我知道我是从内置的应用程序运行它的。这是因为我宁愿在网页呈现输出文件 (dist/main.js) 时对入口文件 (index.js) 进行更改。但是连接这两个可以吗,有没有办法自动适应我在入口文件中所做的更改?

Kyi*_*Zin 11

所以最后,我找到了我的解决方案。当您想在每次文件更改时重新运行“npm run build”时。你需要通过 npm 安装 watch。它检查目录中的所有文件,当您更改某些内容或保存时,它将重新运行 package.json 中的所有脚本。所以步骤 -

  1. 通过“npm install watch”安装手表
  2. 安装 watch 后,添加 "watch": "watch 'npm run build' ./directory-you-want-to-track"
  3. 运行“npm run watch”

  • 第2点:添加到哪里? (2认同)

J.K*_*.K. 6

使用这个命令:

tsc src/index.ts --watch --outDir ./lib
Run Code Online (Sandbox Code Playgroud)

参考:https ://www.youtube.com/watch?v=F6aHIh5NglQ

  • 这应该是真正的解决方案。不知何故,npm watch 使用了我计算机上的所有内存,而且它也不支持增量编译。 (2认同)