linux - fusebox watch 和热装不工作

标签 linux reactjs watch build-system

我正在使用 fuse-box对于 React Web 项目,突然间它正在监视并且热重载(hmr)不再工作了! 注意这一点:

---------------------------------------------------
Development server running http://localhost:10008
---------------------------------------------------

14:26:47: Client connected
14:26:48: HMR is enabled

这里是 fusebox 的版本:

"fuse-box": "^2.2.2"

昨天它运行良好,我不知道发生了什么变化,我卸载了 watchman 并重新安装了它,但没有任何变化...... 请注意,我有 Ubuntu 16,这是 fusebox 文件”

const {resolve} = require('path')

const {
  FuseBox,
  SVGPlugin,
  CSSPlugin,
  WebIndexPlugin,
  BabelPlugin,
  SassPlugin,
  JSONPlugin,
  CSSModules,
  EnvPlugin,
  UglifyJSPlugin,
  ImageBase64Plugin,
  CopyPlugin,
  CSSResourcePlugin,
  Sparky,
  LESSPlugin
} = require('fuse-box')

const res = rel => resolve(__dirname, rel)

let mode = 'development'
let port = '4444'

let args = process.argv.slice(2) || []

if (args.length) mode = args[0]
if (args.length > 1) port = parseInt(args[1])

let production = mode == 'production'
let development = mode == 'development'
let server = mode == 'production'

let fuse = new FuseBox({
  cache: development,
  // kcache: true,
  log: development,
  debug: development,
  homeDir: './',
  sourcemaps: development,
  output: 'output/$name.js',
  alias: {
    home: '~/src',
    components: '~/src/components',
    modules: '~/src/modules',
    landing: '~/src/modules/landing',
    auth: '~/src/modules/auth',
    content: '~/src/modules/landing/content',
    assets: '~/src/assets',
    styles: '~/src/styles',
    network: '~/src/network',
    observables: '~/src/observables',
    popups: '~/src/components/popups',
    listitems: '~/src/components/listitems',
    helpers: '~/src/helpers'
  },

  plugins: [
    EnvPlugin({NODE_ENV: 'development'}),
    JSONPlugin(),
    BabelPlugin({
      config: {
        sourceMaps: development,
        presets: ['react', 'es2015', 'stage-2'],
        plugins: [
          'transform-object-assign',
          'transform-decorators-legacy',
          'transform-class-properties'
        ]
      }
    }),
    WebIndexPlugin({
      title: 'My app',
      template: 'src/index.html'
    }),
    [
      SassPlugin({
        importer: true,
        macros: {$styles: 'src/styles'}
      }),
      // CSSResourcePlugin(),
      CSSPlugin()
      // {
      // group: 'app.css',
      // outFile: res('output/app.css')
      // }
    ],
    // [LESSPlugin(), CSSPlugin()],
    [CSSResourcePlugin(), CSSPlugin()],
    ImageBase64Plugin()
  ]
})

fuse.dev({port})
const app = fuse
  .bundle('app')
  .target('browser')
  .instructions(
    '> src/index.js +[node-modules/react-toolbox/**/*.sass] +[stylesheets/**/*.sass]'
  )
if (development)
  app.sourceMaps({project: true, vendor: false}).watch('src/**').hmr()
fuse.run()

最佳答案

确保您已启用缓存,因为如果它关闭,它将无法工作。 移除 .fuse-box 并重新启动它。

关于linux - fusebox watch 和热装不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45861562/

相关文章:

javascript - 迁移到 meteor / react

javascript - 参数在 RN typescript 中隐式具有任何类型

node.js - 在文件更改时重新启动 Heroku 本地?

javascript - 更改依赖于另一个作用域变量的作用域对象

linux - 如何保护我的进程不被杀死?

linux - ELF 文件格式如何定义堆栈?

c - 强制内存分配始终到相同的虚拟地址

javascript - react native 导航: Undefined is not a function

javascript - safari 开发者工具 如何查看来自 iframe 的表达式?

linux - 在 gdb 中检查 C/C++ 堆内存统计信息