webpack入门(五)——webpack 故障处理

来源:互联网 发布:js添加点击事件 编辑:程序博客网 时间:2024/04/29 08:18

resolveing

一般问题的解决
1. –display-error-details 提供给你更多的出错信息。
2. 查问 配置文档关于 resolve 的部分。loader有它自己的 resolveing配置 resolveLoader

npm 链接的模块找不到它们的依赖。
node.js 模块的resolve步骤非常简单: 在模块的父文件夹中的node_modules中依次向上查找模块.如果找到根目录还没找到,说明模块确实找不到了 (你可以认为用nodejs写的peerDependencies坏掉了 ) 。注意:一个应用的依赖(即使这是个不完美的设计)也是一种相关依赖,即使它没有在 package.json中列出来。
但是用webpack你可以很容易避开这个问题,添加 node_modules文件夹到 resolve paths中。这样做有两个配置选项 resolve.fallbackresolveLoader.fallback。如例:

module.exports = {  resolve: { fallback: path.join(__dirname, "node_modules") },  resolveLoader: { fallback: path.join(__dirname, "node_modules") }};

watch

开了watch ,但 是修改了文件,没有编译。
文件的变化看到了,只是没有文件被更新。
确定webpack 有打开通知(用–progress标志)。如果 开了了但是文件没有输出,可能是配置的问题,而不是watch的问题。

webpack --watch --progress

没有足够的watchers
确定你有足够的观察者在你的系统中。如果此值太低,文件查看器在Webpack认不出的变化 。

cat /proc/sys/fs/inotify/max_user_watches

Arch 用户添加fs.inotify.max_user_watches=524288/etc/sysctl.d/99-sysctl.conf ,然后运行 sysctl --system

Ubuntu 用户(或者其它) : echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p.

OS-X fsevents bug
在 OS-X上文件夹可以获取损坏文件。、

Windows 路径
webpack许多配置项的路径预期都是绝对路径。__dirname+"/app/folder" 这样写是错的,因为windows用 反斜杠切分路径。这样容易出问题。
使用正确的分隔符例如path.resolve(__dirname, "app/folder") 或者 path.join(__dirname, "app", "folder")

vim
有些机器上vim 的 backupcopy 默认设置为 auto了。这可能会导致文件监视机制的问题。把这个选项切换到 yes 确保有一个文件备份,源文件在保存的时候会被重写。

:set backupcopy=yes

更多相关文章

webpack入门(一)

webpack入门(二)

webpack入门(三)

webpack入门(四)

webpack入门(五)

webpack入门(六)

去8斗5车,查看更多技术文章。

1 0
原创粉丝点击