如何禁用Webpack Dev Server自动重新加载Neutrino项目?

3
  • 浏览器:Peruse
  • 项目类型:SAFE网络网站

我需要关闭它,因为Peruse认为window.eval()是一个安全问题,因此会阻止它,并导致我的网站无法加载。

据我所知,Peruse是Maidsafe的标准浏览器。

我的两次尝试都失败了:

webpack.config.js

module.exports = {
  devServer: {
    hot: false,
    inline: false
  }
};

neutrinorc.js

module.exports = {
  use: [
    [
      '@neutrinojs/vue',
      {
        html: {
          title: 'SAFE Web App'
        }
      }
    ],
    (neutrino) => {
      neutrino.config.devServer
        .hot(false)
        .inline(false)
    }
  ]
};

错误:

Uncaught Error: Sorry, peruse does not support window.eval().
    at window.eval.global.eval (/opt/Maidsafe/Peruse/resources/app.asar/webPreload.js:9:82219)
    at Object../node_modules/webpack-dev-server/client/index.js?http://localhost:5000 (http://localhost:5000/index.js:957:1)
    at __webpack_require__ (http://localhost:5000/index.js:679:30)
    at fn (http://localhost:5000/index.js:89:20)
    at Object.0 (http://localhost:5000/index.js:1060:1)
    at __webpack_require__ (http://localhost:5000/index.js:679:30)
    at http://localhost:5000/index.js:725:37
    at http://localhost:5000/index.js:728:10

package.json

  ...
  "dependencies": {
    "@babel/helper-module-imports": "^7.0.0-beta.44",
    "vue": "^2.5.16"
  },
  "devDependencies": {
    "@neutrinojs/vue": "^8.2.1",
    "@vue/devtools": "^4.1.5",
    "neutrino": "^8.2.1"
  }
  ...
1个回答

1
eval() 错误不是由 webpack-dev-server 引起的。
原来,@neutrinojs/web 使用的默认源映射模式是 cheap-module-eval-source-map,需要设置为 cheap-module-source-map
因此,neutrinorc.js 需要进行以下配置:
module.exports = {
  use: [
    ['@neutrinojs/vue', {
      // Existing options
    }],
    (neutrino) => {
      if (process.env.NODE_ENV === 'development') {
        // Override the default development source map of 'cheap-module-eval-source-map'
        // to one that doesn't use `eval` (reduces incremental build performance).
        neutrino.config.devtool('cheap-module-source-map');
      }
    }
  ]
};

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接