背景环境:1、并没有全局安装webpack和webpack-cli
2、项目没有安装其他模块
1、运行“npm install webpack webpack-cli -D”安装webpack和webpack-cli包到项目。版本如下:
2、项目根目录下创建webpack.config.js
// 向外暴露一个打包的配置对象
// 因为 webpack 是基于Node构建的;所以 webpack 支持所有Node API 和语法
// 那些 特性 Node 支持呢?Node是基于Chrome V8引擎实现的Javascript运行环境,如果 chrome 浏览器支持哪些,则 Node 就支持哪些;
module.exports = {
mode: 'production' // development production
}
// 以下的写法不行,这是ES6中向外导出模块的API,与之对应的是import ** from '标识符'
// export default {}
3、命令行中输入"webpack"命令,提示错误如下:
4、网上搜索了一下解决方案, 都是让我全局安装webpack以及添加node_global到环境变量。可是我安装在E盘下的node的安装目录下并没有找到node_global目录,而且我也并不太想全局安装webpack。
5、所以,我的解决办法是:
1)找到项目根目录下的package.json文件并打开,找到"scripts":{}这一段,在其中添加"dev": "webpack"这一行,效果如下:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack"
},
2)命令行中输入“npm run dev”命令,顺利执行webpack命令,将入口文件“src/index.js”打包(若是webpack.config.js中mode为production则自动压缩,否则不压缩,webpack 4.x以前要压缩的话需要另外安装组件并做相应配置,webpack 4.x仅需一个配置项即可压缩代码,赞!)并输出到“dist/main.js”。
不知道哪位大神能解释一下为何我不能直接在命令行中运行webpack命令而用npm run dev又能成功运行webpack命令呢?不胜感激~