Parcel v2使用报错:未知--out-file选项,求指定输出bundle.js方案
解决方案
核心问题
你混淆了Parcel v1和v2的命令行参数规则:Parcel v2移除了--out-file/--dist-file这类指定输出文件名的参数,改用**入口文件后追加:输出文件名**的语法,同时--dist-dir是v2中指定输出目录的正确参数。
修正后的命令
将你的package.json脚本修改为以下内容即可实现输出到public/js/bundle.js:
"scripts": { "watch:js": "parcel watch ./public/js/index.js:bundle.js --dist-dir ./public/js", "build:js": "parcel build ./public/js/index.js:bundle.js --dist-dir ./public/js" }
可选:通过配置文件管理(更优雅)
如果不想在命令行写太长路径,可以在项目根目录的package.json中添加Parcel配置块,统一管理输出规则:
"parcel": { "targets": { "js-bundle": { "source": "./public/js/index.js", "distDir": "./public/js", "outputFile": "bundle.js" } } }
之后脚本可以简化为:
"scripts": { "watch:js": "parcel watch", "build:js": "parcel build" }
验证方式
执行npm run watch:js或npm run build:js后,检查public/js目录下是否生成了bundle.js,直接在Pug中通过script(src='/public/js/bundle.js')引入即可。
内容的提问来源于stack exchange,提问作者WMF
相关产品推荐
相关产品推荐

