記vue項目npm / yarn build過程中遇到的問題

昨天項目正式完工,今天組長大大讓我把項目build一下部署到服務器上,我心想這有何難,然后就遇到了問題,笑哭~

問題一

問題描述

執(zhí)行yarn build命令后,出現(xiàn)了錯誤:

ERROR in static/js/vendor.5346f984bedbd0ae0e43.js from UglifyJs
Unexpected token: operator (>) [./~/element-ui/src/mixins/emitter.js:2,0][static/js/vendor.5346f984bedbd0ae0e43.js:56667,32]

問題分析

經(jīng)過查閱資料發(fā)現(xiàn),是因為我在項目中引入了element-ui庫,該庫是用es6的語法編寫的,但是瀏覽器并不支持es6的語法,需要轉(zhuǎn)換成es5的語法才能執(zhí)行。

解決問題

找到webpack.base.config.js文件,做如下修改:

module: {
    rules: [
      {
        test: /\.js$/,
        loader: 'babel-loader',
        include: [resolve('src'), resolve('test'),
          resolve('/node_modules/element-ui/src'),   <--新增
          resolve('/node_modules/element-ui/packages')  <--新增
        ]
      }
    ]
  }

然后就可以build成功了。

問題二

問題描述

build成功后,開熏地叫來組長大大,但是組長大大說,需要把sourceMap去掉,線上環(huán)境不允許有sourceMap存在,可以借此窺探源碼結(jié)構(gòu)。

問題分析

修改prod的環(huán)境配置來設置build生成的文件不含sourceMap。

解決問題

找到config文件下的index.js文件,做如下修改:

productionSourceMap: false,  //設置不生成sourceMap

然后執(zhí)行一遍yarn build命令發(fā)現(xiàn)sourceMap沒有了,完成任務。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容