windows-7 – Webpack –watch在Windows上不起作用(也不是webpack-dev-server)

前端之家收集整理的这篇文章主要介绍了windows-7 – Webpack –watch在Windows上不起作用(也不是webpack-dev-server)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这似乎是一个常见的问题,但经过几天的积极搜索,我没有找到适用于我的方案.

> windows7-x64
> node:6.3.0-x64(也尝试过node-v4.4.7-x64)
> npm:3.10.3
> webpack:1.13.1
>崇高的文字(不是Vim)

首先,我无法在Windows上安装fsevents,这可能是问题,因为它是在OS X上观看的库.

  1. D:\file>npm install webpack
  2. file@1.0.0 D:\file
  3. `-- webpack@1.13.1
  4.  
  5. npm WARN optional Skipping Failed optional dependency /chokidar/fsevents:
  6. npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.13

所以,如果你的–watch在Windows上工作,请告诉我,你安装webpack时是否有同样的问题,跳过fsevents?

其次,webpack –watch会编译文件,但是它根本看不到.

例如.如果我使用手写笔,那么它实际上会阻止我的命令行,直到我按ctrl c

  1. D:\file>stylus -w style.styl
  2. watching C:/Users/...
  3. compiled style.css
  4. watching style.styl
  5. _

只有在ctrl c之后,它将会解锁我的键盘.

  1. ^CTerminate batch job (Y/N)? y

stylus-watch

而webpack -w是完全不同的.它不只是在编辑文件的变化,但它也没有看.我的意思是,键入命令webpack –watch后,它一次编译文件,但它不锁定我的键盘,所以它允许我写另一个命令.

  1. D:\webpa>webpack main.js bundle.js
  2. D:\webpa>webpack -w main.js bundle.js
  3. D:\webpa>webpack --watch main.js bundle.js
  4. D:\webpa>

webpack-watch

与webpack-dev-server相同 – 它启动服务器,但是立即完成它.

  1. D:\webpa>webpack-dev-server --hot --inline
  2. http://localhost:8080/
  3. webpack result is served from /
  4. content is served from D:\webpa
  5. D:\webpa>

看起来问题不在于webpack.config.js,因为即使使用诸如webpack –watch main.js bundle.js的命令也不会观看,但无论如何,这里是我的基本配置.

  1. var webpack = require('webpack');
  2. module.exports = {
  3. context: __dirname,entry: "./main.js",output: {
  4. path: __dirname,filename: "bundle.js"
  5. },};

我尝试了许多其他变种:

  1. var webpack = require('webpack');
  2. var path = require('path');
  3. var entry = path.join(__dirname,"main.js");
  4. var WebpackNotifierPlugin = require('webpack-notifier');
  5.  
  6. module.exports = {
  7. context: __dirname,entry: entry,resolve: {root: [__dirname]},resolve: { fallback: path.join(__dirname,"node_modules") },resolveLoader: { fallback: path.join(__dirname,plugins: [
  8. new webpack.OldWatchingPlugin(),new WebpackNotifierPlugin(),new webpack.ResolverPlugin(
  9. new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin("bower.json",["main"])
  10. ),new webpack.optimize.CommonsChunkPlugin('vendors','vendors/js/applibs.js'),new webpack.optimize.DedupePlugin()
  11. ]
  12. };

正如我所说,问题似乎不在webpack.config.js中

我也尝试过如下:

  1. echo fs.inotify.max_user_watches=524288
  2. webpack-dev-server --content-base ./ --port 9966 --hot --inline
  3. webpack --watch --watch-poll
  4. rename/move/create new folder,reinstall node.js and webpack

那么是的,如果你有这个问题,你解决了,请分享一些信息.

>您有安装fsevents的问题吗?
你的webpack –watch命令是否阻止你的键盘实际观看,但是在更改之后不会编译文件?还是在我的情况下立即收看呢?
>任何其他建议除了–watch和webpack-dev-server之外,还要使用什么?

谢谢!

我会把这个包括在这里,因为它解决了我的问题.它可能或可能不会解决您的问题,具体取决于您的帖子中的路径实际上是您使用的路径.如果不能解决你的问题,至少它会解决某些问题,因为这个问题首先出现在这个问题上.

你不能有一个“(”或“)”的路径,因为is-glob依赖性认为它是一个glob,如果你这样做.如果您必须将项目放在带有“(”(如程序文件(x86))的路径中,那么您必须在node_modules中的is-glob模块中添加如下内容

  1. if (typeof str === 'string' && str.indexOf('Program Files (x86)') > -1)
  2. return false

猜你在找的Windows相关文章