Я связываю свое CLI-приложение с помощью Webpack v4.Одна из зависимостей - Express, и это вызывает предупреждение:
WARNING in ./node_modules/express/lib/view.js 81:13-25
Critical dependency: the request of a dependency is an expression
@ ./node_modules/express/lib/application.js
@ ./node_modules/express/lib/express.js
@ ./node_modules/express/index.js
Это происходит из этой строки в Express:
/**
* Initialize a new `View` with the given `name`.
*
* Options:
*
* - `defaultEngine` the default template engine name
* - `engines` template engine require() cache
* - `root` root path for view lookup
*
* @param {string} name
* @param {object} options
* @public
*/
function View(name, options) {
var opts = options || {};
this.defaultEngine = opts.defaultEngine;
this.ext = extname(name);
// ...
if (!opts.engines[this.ext]) {
// load engine
var mod = this.ext.substr(1)
debug('require "%s"', mod)
// default engine export
var fn = require(mod).__express // <-- this require is the problem
Есть довольно много вопросовспрашивая о том, как это исправить, не связывая экспресс вообще, или не связывая что-либо из node_modules.
Для меня это победило быточка (я пытаюсь уменьшить размер развернутого файла), поэтому я хочу исправить это, сохраняя экспресс в моем пакете.В моем случае я вообще не использую движки представления, и это требование существует исключительно для загрузки движков представления по требованию, поэтому я просто хочу, чтобы предупреждение исчезло.
Если я уверен, что это требуетникогда не будет вызван, как я могу сказать, чтобы webpack полностью его игнорировал?