webpack构建脚本错误

时间:2017-10-09 21:15:25

标签: node.js webpack babeljs

我正在尝试使用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个像这样的错误

enter image description here

还有一个只有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"
  }

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.htmlhtml-webpack-plugin的一个优点是它会自动为生成的包插入<script>标记(如果在包名称中使用哈希值,则特别有用)。这意味着webpack将输出您应用程序所需的所有内容,您只需部署dist目录即可。作为奖励,它与webpack-dev-server很好地配合,因此所有内容都可以保存在内存中,您无需事先生成文件即可使其正常工作。