【发布时间】:2017-06-16 16:07:22
【问题描述】:
我正在尝试打包我的电子应用程序,它需要 mqtt 和 node-notifier 模块。 所以我想做的就是排除除它们之外的所有node_modules。
假设我想从打包中排除这些文件:
- npm 调试
- gulpfile.js
- .vscode
所以像这样设置 --ignore 选项:
--ignore='npm-debug|gulpfile\.js|\.vscode'
工作正常。但是另外除了mqtt和node-notifier之外的node_modules,我不知道如何制作正则表达式!
--ignore='npm-debug|gulpfile\.js|\.vscode|^((?!node_modules/mqtt).)$' // NOT WORKING
只检查 node_modules, /^((?!node_modules/mqtt).)$/ 是有效的,但是将它们组合成单个正则表达式行,它不起作用。
我知道我的正则表达式是错误的,但我尝试了正则表达式字符的每一种组合和我的想象力,每一次尝试都失败了,在谷歌上找不到任何解决方案。
这是Regex Testing site,你可以看到我卡在哪里了。
任何建议将不胜感激。谢谢!
【问题讨论】:
-
在您发布的第二个代码中,您有一个 ignore 而不是 ignore。无论如何,我通常使用
--save-dev保存所有模块并相应地将它们添加到我的 package.json 中,这样当我运行 electron-packager 时,它会自动将它们全部打包而没有问题。 -
@briosheje 这只是错字,我稍后会更新。反正我也是,已经设置了依赖:mqtt和node-notifier,其他的都是devDependencies。但是当我运行 electron-packager 时,它们仍然在打包的应用程序中!
标签: javascript regex node.js electron