我正在尝试使用webpack启动我的本地开发环境 并且遇到了这个脚本部分的问题
"scripts": {
"start": "npm run build",
"build": "webpack -d && copy /src/index.html /dist/index.html && webpack-dev-server --content-base src/ --inline",
"build:prod": "webpack -p && copy /src/index.html dist/index.html"
},
当我正在进行npm开始时,我会看到2个像这样的错误
还有一个只有npm run build失败了 这些错误可能是什么原因?
index.html存在于提供的地址
我虽然我错过了我的依赖关系,但一切似乎都在了
"dependencies": {
"body-parser": "^1.18.2",
"express": "^4.16.1",
"oracledb": "^1.13.1",
"react": "^16.0.0",
"react-dom": "^16.0.0",
"socket.io": "^2.0.3"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-2": "^6.24.1",
"webpack": "^3.6.0",
"webpack-dev-server": "^2.9.1"
}
答案 0 :(得分:0)
相关错误是:
The syntax of the command is incorrect.
当您链接多个命令时,通常应该隔离它们并单独测试它们以查看哪个失败,但因为它正好在webpack构建输出之后,它必须是第二个。
copy /src/index.html /dist/index.html
copy
是一个Windows命令,在Windows上,命令行选项以Unix上的/
而不是-
开头。您正在尝试使用Unix样式路径,最终被识别为选项。 Windows上的路径使用\
(反斜杠)而不是/
(正斜杠)。即使它是Unix,你也不想用/
启动路径,因为它会查看文件系统的根目录,而不是当前目录,并且它会因为无法找到而失败该文件,除非你巧合地在文件系统的根目录中有这样的文件。
命令应为:
copy src\index.html dist\index.html
这不适用于其他操作系统,这是构建系统中的另一个步骤。作为替代方案,您可以使用copy-webpack-plugin
将其集成到webpack中,或者在特定情况下,您可以让webpack使用html-webpack-plugin
为您生成index.html
。 html-webpack-plugin
的一个优点是它会自动为生成的包插入<script>
标记(如果在包名称中使用哈希值,则特别有用)。这意味着webpack将输出您应用程序所需的所有内容,您只需部署dist
目录即可。作为奖励,它与webpack-dev-server
很好地配合,因此所有内容都可以保存在内存中,您无需事先生成文件即可使其正常工作。