关于 vue-cli 的疑惑

请问各位大神,我用 vue-ci 构建的项目,就是用这些命令做的
$ npm install -g vue-cli
$ vue init webpack my-project
$ cd my-project
$ npm install
$ npm run dev
我的项目用 npm run dev 是可以跑起来的。
请问项目完成打包还需要用 $ webpack entry.js bundle.js 类似于这样的命令来操作吗?
还是直接 $ npm run build 就可以。

补充:之所以有此疑问,是我直接用 $ npm run build 打包生成的 dist 文件夹用本地服务器打开 index.html 没有办法运行。
还请高手答疑解惑,非常感谢。

阅读 9.7k
6 个回答

npm run dev是开发环境, npm run build是生产环境, 在开发环境完成代码和测试, 之后用生产环境生成代码,

npm run build的时候, 一开始就会提示Built files are meant to be served over an HTTP server. Opening index.html over file:// won't work., 因为vue-cli的默认配置中, publishPath是用绝对目录, 所以dist文件夹里的文件必须放在服务器的根目录, 如果你想本地打开的话, 可以在npm run build完成之后执行以下命令:

cd dist
npm install -g http-server // 该命令只需执行一次, 安装过之后, 以后就不需要重复安装了.
hs

npm run dev开启的本地服务器,就直接能够访问本地的了。另外项目打包的webpack.config.js配置文件应该是默认配置的,每次更改代码只需要进入目录webpack 编译一下就可以,本地服务器可以使用默认的npm run dev。也可以在node官网的示例,开启,一次开启,一直有效(自己的理解)

npm run build之后进入dist目录开本地服务器,这是正确的。我在本地写的代码都能这样打开。

你开的本地服务器,端口是否已经被别的进程占用?如果没有占用,那么访问首页会正常显示,或者有错的话显示过interval 500这种,这就和你的代码本身相关了

vue打包生成的静态文件的路径是/,在本地可以使用http服务器,到服务端打开是没问题的。

举个粟子:
npm install -g live-server
那么在dist文件夹下执行live-server就可以正常打开

如果你不想这么麻烦,只想在本地打开,那么更改项目下的配置,把 assetsPublicPath 的值更改成./ 应该可破。

新手上路,请多包涵

Vue-Project/config/index.js
build: ==》

assetsPublicPath "/" 改为 ""

绝对路径改为相对路径就OK了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
推荐问题
宣传栏