npm webpack发布包坑爹记

现在又回到了古老的黑窗口字符界面时代...

当然,linuxer会说:我们一直是这么过来的!

好吧,我们玩.net的被微软给玩坏了。

微软确实已经有点软了,没有跟上移动互联的大潮,要不是家底够厚实,现在估计和Sun一样。不过Sun虽然死了,但虽死犹生。不过呢,甲骨文这个球霸在官网放出风要在2019年收java的买路钱了,窃喜ing...

话说因为微软的不给力,我们.neter也要给自己找后路了,越来越多的公司明确要求java开发。特别是自认为的大公司。作为我们技术选型的策略,只能是尽量把业务向前端转移,毕竟不管是.net还是java,你前端页面总得要是不是?

其实C#是一们非常不错的语言,各种语法糖让你甜如蜜,一个语句可以点出几十行不带喘气的。配合宇宙第一IDE的智能感知,谁用谁知道。

在我心里一直认为前端脚本仅仅也是“脚本”而已,跟“脚”有关的能高大上到哪里去?但迫于形式,一把年纪了也不得不向前端靠拢,最近研究了一下nodejs环境下的前端开发,感觉一帮纯程序员们做的东西就是不一样。被微软IDE宠坏了的我们,要适应还真不是一时半会儿的事情。

这种东西能火起来,只能证明,微软让程序员白菜化的努力接近归于失败了。

废话那么多,来点干货:

1. 写了个自认为不错的后台管理类的前端框子,想把它发布到npm上,不求达于天下,只求自己和团队用起来方便,顺便可以控制版本。看教程也很简单,无非就是npm publish一句话的事情。但发布上去以后,开另一个窗口下载安装,导入,npm run dev,居然报错。

一查,原来上传上去的模块代码用了大量的import **** from "@/..."这样的路径。不是说好的@代表系统的src目录么,怎么变了。

后来不得不把@都换成了../../这样的相对路径。

所以总结经验:发布的模块不能用@代表src. 

当然可能我不熟这些套路还有别的解决方案,哪位前端大拿知道告诉我。

2. element-ui提供的脚手架有毒,居然不支持es6语法。当然可能是我自己改坏了。之所以不在vs里老老实实写纯js, 而要在vscode里搞,就是为了吃es6的语法糖好不好?

3.最后换了vue自己的脚手架,用vue init webpack一路回车,npm run dev, ok,出来了。再引入自己的npm包,再run又错了。

查了这位高手hexiaobao的结果。是要输入命令

npm install sass-loader --save

npm install node-sass --save

原来是我上传的包里面装B用了scss写样式,结果没有装对应的编译包。执行以后再run,终于系统登录框出现了!

现在,main.js里就两行代码:(准确地说是三行,因为Run()后面不回车会出错)

import {Run} from 'datagate.web'
Run()

4. 用npm run build编译过的js文件发布到npm居然不能用。至少不能在es6环境下用,不能参与编译。只能作为像jquery那样的类库直接在网页里引用。当然这也可能是没找到窍门。只能上传源码。这样每次都要重复编译还是有点不爽。当然这也是自己还没搞清楚套路。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值