Как отключить автоматическую перезагрузку сервера webpack для проекта нейтрино? - PullRequest
0 голосов
/ 29 августа 2018
  • Браузер: Peruse
  • Тип проекта: веб-сайт БЕЗОПАСНОЙ сети

Мне нужно отключить его, потому что 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 Ответ

0 голосов
/ 31 августа 2018

Ошибка eval() не приходит от webpack-dev-server.

Оказывается, что режим карты источника по умолчанию, используемый @neutrinojs/web, от которого наследуется @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');
      }
    }
  ]
};
...