1:data数据文件经试验,需要放在生成的build文件夹中才能生效,但是应该把data文件夹先放在src中,然后如何定义config文件,让其复制过去?

  

new CopyWebpackPlugin([
{ from: path.join(__dirname, "./src/css/i"), to: path.join(__dirname, "./build/exploit/mplus/"+config.version+"/css/i") },
{ from: path.join(__dirname, "./src/js/lib"), to: path.join(__dirname, "./build/exploit/mplus/"+config.version+"/js/lib") },
{ from: path.join(__dirname, "./src/js/data"), to: path.join(__dirname, "./build/exploit/mplus/"+config.version+"/js/data") }
])

2:对于常用的子组件在webpack中方式:(子组件改变父组件中的数据,原来是vm.data='',现在改为webpack怎么办?只能用emit?)

首先是父组件中的形式:

<template>
  <h5>{{ceshidare}}</h5>
<ceshi v-on:event2="event3"></ceshi>
</template>
<script>
var jDialog = require('./j-dialog.vue');//引入j-dialog组件
export default {
name: 'app',//感觉没啥用
data: function() {
return {
url: {
getFloorConf: '/products/getFloorConf',//定义url链接
},
loadingShow: true,//定义data数据
}
},
components: {
'j-dialog': jDialog //定义组件,在html中使用<j-dialog></j-dialog>
},
  methods: {
event3:function(){
this.ceshidare='yang';
}
}
}
</script>

子组件的形式:

<template>
<div><button v-on:click="event">点击我</button></div>
</template>
<script>
export default{
name : 'ceshi',
methods:{
event:function(){
this.$emit('event2');
}
}
}
</script>

3:使用npm install命令安装后,在用npm run build 然后把html放进生成的build文件夹中,最后执行npm run dev命令,本地调试

首先设置package.json文件,设置dev命令:

"scripts": {
"dev": "cross-env NODE_ENV=development webpack --progress --bail --colors --hide-modules && webpack-dev-server --open --hot",
"build": "cross-env NODE_ENV=production webpack --hide-modules"
}

其中cross-env NODE_ENV=development是设置环境变量,执行webpack命令生成build文件

webpack --progress --bail --colors --hide-modules
然后执行热更新:webpack-dev-server --open --hot
if (process.env.NODE_ENV === 'production') {
module.exports.devtool = '#source-map'
module.exports.plugins = (module.exports.plugins || []).concat([
new webpack.DefinePlugin({
LOCAL_URL: JSON.stringify("")//根据执行的环境变量不同,设置接口的前缀为空
}),
new webpack.optimize.UglifyJsPlugin({ //压缩js代码
sourceMap: true,
compress: {
warnings: false
}
}),
new webpack.LoaderOptionsPlugin({//压缩css代码
minimize: true
})
])
}else if(process.env.NODE_ENV === 'development'){
module.exports.devtool = '#source-map'
module.exports.plugins = (module.exports.plugins || []).concat([
new webpack.DefinePlugin({
LOCAL_URL: JSON.stringify("//plus.m.jd.com")//根据执行的环境变量不同,设置接口的前缀为域名
}),
new webpack.LoaderOptionsPlugin({//压缩js代码
minimize: false
}),
new CleanWebpackPlugin(['build'])//因为在package.json文件中执行了两次webpack,所以在第一执行package的时候清除之前生成的文件夹
//在第二次执行的webpack-dev-server没有配置环境变量,所以执行下面的else 不再清除生成的build文件夹,因为新的文件夹已经被占用
]) }else{
module.exports.devtool = '#source-map'
module.exports.plugins = (module.exports.plugins || []).concat([
new webpack.DefinePlugin({
LOCAL_URL: JSON.stringify("//plus.m.jd.com")
}),
new webpack.LoaderOptionsPlugin({
minimize: false
})
])
}

对应的js可以获取到定义的全局变量:

url: {
getFloorConf: LOCAL_URL+'/products/getFloorConf', }

4:不自动打开index,而是打开html文件夹,在devServer中配置:contentBase: path.join(__dirname, 'build'),:

在build文件夹中去加载index.html,如果没有index.html文件,将会在浏览器中显示所有build目录下的文件和文件夹

 

使用webpack搭建vue项目中遇到的问题的更多相关文章

  1. webpack搭建vue项目开发环境【文档向学习】

    为何有这篇文章 各个社区已经有无数篇帖子介绍如何使用webpack搭建前端项目,但无论是出于学习webpack的目的还是为了解决工作实际需要都面临着一个现实问题,那就是版本更新.别人的帖子可能刚写好版 ...

  2. webpack搭建vue项目,实现脚手架功能

    本文基于node.js开发环境,安装完node之后新建项目,通过webpack配置,实现vue-cli脚手架功能 对于刚刚接触编程的人来说,最难的可能并不是学习一种新语法或者框架,而是编程思维,这种思 ...

  3. 使用Webpack搭建Vue项目

    前提: 1.  借助Node.js环境里的npm来安装, 2.  设置好npm镜像, (比如淘宝的npm镜像:输入 引用 npm install -g cnpm –registry=https://r ...

  4. webpack 搭建vue项目流程

    1.安装node 2.打开命令行输入  npm install -g vue-cli 3.vue init webpack-simple vue 4.各种确认(enter键) 5.npm instal ...

  5. webpack搭建vue项目

    链接:https://blog.csdn.net/qq_42181069/article/details/81137180 __dirname : 文件的绝对路径

  6. 在webpack搭建的vue项目中如何管理好后台接口地址

    在最近做的vue项目中,使用了webpack打包工具,以前在做项目中测试环境和生产环境的接口地址都是一样的,由于现在接口地址不一样,需要在项目打包的时候手动切换不同的地址,有时候忘记切换就要重新打包, ...

  7. element-ui和npm、webpack、vue-cli搭建Vue项目

    一.element-ui的简单使用 1.安装 1. npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm i element-ui -S 2. CDN ...

  8. 用vue-cli来搭建vue项目和webpack

    vue-cli 用vue-cli来搭建vue项目 第一步:全局安装vue-cli sudo npm install vue-cli -g 第二步:初始化一个项目 vue init webpack-si ...

  9. Mac中如何搭建Vue项目并利用VSCode开发

    (一)部署Node环境 (1)下载适合Mac环境的Node包,点击进入下载页面 (2)安装Node环境:找到下载好的Node包,这里是node-v12.14.1.pkg,我们双击它,会进入Node.j ...

随机推荐

  1. 雷林鹏分享:C# 文件的输入与输出

    C# 文件的输入与输出 一个 文件 是一个存储在磁盘中带有指定名称和目录路径的数据集合.当打开文件进行读写时,它变成一个 流. 从根本上说,流是通过通信路径传递的字节序列.有两个主要的流:输入流 和 ...

  2. [.NET开发] C#编程调用Cards.dll实现图形化发牌功能示例

    本文实例讲述了C#编程调用Cards.dll实现图形化发牌功能.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; usi ...

  3. [.NET开发] C#实现发送手机验证码功能

    之前不怎么了解这个,一直以为做起来很复杂. 直到前两天公司要求要做这个功能. 做了之后才发现 这不过就是一个POST请求就能实现的东西.现在给大家分享一下,有不足之处还请多多指教. 废话不多说 直接上 ...

  4. hdu3294 manacher

    One day, sailormoon girls are so delighted that they intend to research about palindromic strings. O ...

  5. linux command dialog

    Linux command dialog [Purpose]        Learning how to use dialog commad, do  man-machine interaction ...

  6. Python Django 之 MVT

    一.Django的MVT模式 M: Model, 模型 与MVC中的M相同,负责对数据的处理 V: View, 视图 与MVC中的C类似,负责处理用户请求,调用M和T,响应请求 T: Template ...

  7. 大数据技术Hadoop面试题

    1. 下面哪个程序负责 HDFS 数据存储.答案C datanode a)NameNodeb)Jobtrackerc)Datanode d)secondaryNameNodee)tasktracker ...

  8. LINK : fatal error LNK1123

    转: LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 这个是由于日志文件引起的,可以将 项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来 ...

  9. C++primer 练习4.31-4.35

    Exercise 4.31: 编写程序从标准输入设备读入字符串,并把该串存放在字 符数组中.描述你的程序如何处理可变长的输入.提供比 你分配的数组长度长的字符串数据测试你的程序. string in_ ...

  10. DevExpress v17.2新版亮点——CodeRush篇(三)

    用户界面套包DevExpress v17.2日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了CodeRush v17.2 的新功能,快来下载试用新版本! 代码格式和清理 文档 ...