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
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏

bwangel

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者