2016-07-29 3 views
0

Я работаю над угловым приложением, которое интегрируется в более крупное. Мы используем RequireJs, и я перехожу к Webpack. Мой код зависит от внешнего модуля requirejs в формате:Внешний внешний модуль Webpack с комплексным именем

var x = require('foo/foo/bar'); 

Edit: модуль на самом деле скрипт находится в SERVERROOT/Foo/Foo/bar.js.

В моем webpack.config.js я говорю Webpack, чтобы не заморачиваться с этим модулем, потому что это предусмотрено внешне:

externals: { 
    'foo/foo/bar': 'foo/foo/bar' 
} 

Это генерирует следующий код, WebPack:

/* 15 */ 
/***/ function(module, exports) { 

    module.exports = foo/foo/bar; 

/***/ }, 

Это, очевидно, вызывает ошибку.

Итак ... как я могу заставить его работать?

ответ

0

Внешняя библиотека или цель должна подвергнуть var в глобальном контексте, например, с помощью внешней библиотеки Jquery:

externals: { 
    // require("jquery") is external and available 
    // on the global var jQuery 
    "jquery": "jQuery" 
} 

так в вас случае, если require('foo/foo/bar') подвергнет globalFoo переменную, вы можете установить externals:

externals: { 
    "globalFoo": "foo/foo/bar" 
} 
+0

У меня нет доступа к внешней библиотеке, чтобы она отображала переменную ... Она находится в serverRoot/foo/foo/bar.js –

Смежные вопросы