为什么对节点模块所做的更改不适用于 React.js 应用程序?

Why changes made to a node module does not apply to React.js app?

我用

安装了节点模块
npm install

之后我更改了其中一个模块中的几行。红色矩形中的线是进行更改的地方。

请注意,find 命令行工具仅检测到一个具有该名称的文件。

然后启动我的 React 应用程序:

npm run start

打开 Chrome 的 DevTools 我希望在修改后的文件中看到这些更改,但文件并没有受到任何更改的影响。我的意思是文件看起来和最初一样。

我清除了所有浏览器的缓存,删除了node_modules/.cache

rm -fr node_modules/.cache

我重新启动了浏览器,甚至是我的电脑。我尝试更改其来源的库的名称是 leaflet。我已经在该库上安装了 'peer-depend' 的另一个模块。我的电脑上没有 leaflet 的全局 npm 安装:

>:~/Coding/test/react-leaflet-marker$ npm list -g --depth=0
/home/cloud-of-sounds/.nvm/versions/node/v10.13.0/lib
├── @storybook/cli@5.2.6
├── cordova@8.1.1
├── http-server@0.11.1
├── json-minify@1.0.0
├── minify@4.1.3
├── npm@6.4.1
├── phonegap@8.2.2
└── plugman@3.0.1

我无法解决这个问题。你能帮我看看如何让我的浏览器加载这些更改吗?

谢谢@IvanSanchez!我用从 github 克隆的最新 leaflet 替换了 node_modules 中的文件夹。我再次在 leaflet/src/layer/marker/Icon.Default.js 中进行了这些更改。接下来我运行

npm install

npm run rollup

瞧! Chrome 调试器现在可以正确显示代码的修改。

结论:在 npm 包中 src/ 文件夹包含开发阶段代码,而不是 dist/ 包含生产阶段代码!看起来 运行ning npm run rollupsrc/ 中构建代码并在 dist/ 中输出它。