Как сохранить мой shebang на месте с помощью webpack?
есть ли способ заставить Webpack хранить #!/usr/bin/env node
в верхней части моего файла?
Я пытаюсь связать CLI вместе с модулем... было немного сложно экспортировать мой index.js / cli.js
отдельно, используя только один файл конфигурации... и сделать cli require index... я получил его работать...
Однако.. я не нашел способ сохранить #!/usr/bin/env node
в верхней части моего файла cli, любые идеи?
в шортах webpack выводит такой файл:
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
..............................................................
но мне нужно
#!/usr/bin/env node //<------ HEREEEE
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
..............................................................
Ответы
Ответ 1
Вы должны быть в состоянии использовать BannerPlugin с необработанным режимом для этого. С помощью этого плагина вы можете добавить любую строку в верхней части вашего пакета. При использовании необработанного режима он не будет переносить строку в комментарии.
В вашем файле webpack.config.js
:
plugins: [
new webpack.BannerPlugin({ banner: "#!/usr/bin/env node", raw: true }),
]