关于 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 没有办法运行。
还请高手答疑解惑,非常感谢。

阅读 6.3k
评论 2016-09-10 提问
    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
    评论 赞赏 2016-09-10

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

      评论 赞赏 2016-09-10

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

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

        评论 赞赏 2016-09-10
          airyland
          • 5.6k

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

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

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

          评论 赞赏 2016-09-10
            评论 赞赏 2016-09-10
              暴风
              • 2
              • 新人请关照

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

              assetsPublicPath "/" 改为 ""
              

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

              评论 赞赏 2017-11-29
                撰写回答

                登录后参与交流、获取后续更新提醒