lmk123 / blog

个人技术博客,博文写在 Issues 里。
https://github.com/lmk123/blog/issues
623 stars 35 forks source link

Webpack 的 `sideEffects` 似乎会始终对 node_modules 里的代码生效,即使是在 dev 模式 #131

Open lmk123 opened 4 months ago

lmk123 commented 4 months ago

我的项目使用了 monorepos 模式,然后今天发现了一个现象。

项目结构大致如下:

root/
   apps/my-app
        index.js
   packages/my-package
        index.js
        package.json

my-package/index.js 代码如下:

console.log('my-package 入口')
export { someFn }

且 my-package/package.json 里加入了 sideEffects: false

my-app/index.js 代码如下:

import { someFn } from '@inner-pkg/my-package'

然后用 Webpack 的 dev 模式打包了 my-app/index.js,结果发现控制台没有 my-package/index.js 里的日志消息。

另外,编辑 package.json 里的 sideEffects 选项后,webpack --watch 并没有重新编译代码,需要完全重启 webpack 才能生效。