有没有办法让Webpack保持#!/usr/bin/env node在我的文件的顶部?
我正在尝试将CLI与模块捆绑在一起... index.js / cli.js仅使用一个配置文件单独导出我有点棘手...并且使cli需要索引...我得到了它...
但是..我没有找到任何方法来保持#!/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;
..............................................................
Run Code Online (Sandbox Code Playgroud)
但我需要的是
#!/usr/bin/env node //<------ HEREEEE
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/ // The require function
/******/ function __webpack_require__(moduleId) …Run Code Online (Sandbox Code Playgroud) 我试图导出这两段代码 cli.js 和 program.js,其中 cli 依赖于 program 而 program 有一堆其他依赖项......
Webpack 在捆绑 program.js (./a,./b,./c...) 的所有依赖项方面做得很好,并正确忽略了像“jquery”、“bluebird”这样的外部依赖项...
然而,当涉及到捆绑 cli.js .. 它不是引用program.dist.js入口点,而是再次捆绑整个程序的副本......
我怎么能解决这个问题?这是 webpack 的限制吗?或者有什么办法可以解决吗?我目前使用 webpack 2.1.0-beta.27
这是我的webpack.config.js
const path = require('path');
module.exports = {
entry: {
cli: './bin/cli.js',
program: './program.js',
},
target: 'node',
output: {
libraryTarget: 'umd',
filename: '[name].dist.js',
umdNamedDefine: true,
path: path.resolve(__dirname, 'distribution'),
},
externals: [
/^[a-z\-0-9]+$/
]
}
Run Code Online (Sandbox Code Playgroud)
程序.js
let a = require('./a'),
b = require('./b'),
c = require('./c');
Run Code Online (Sandbox Code Playgroud)
bin/cli.js
const program = require('../program');
program.doSomething();
Run Code Online (Sandbox Code Playgroud)
只是一个侧节点...
我无法使用 …