npm 的模块怎么写啊

2018-09-13 16:44:37 +08:00
 jiafaner
现在碰上一个需求,有两个项目,一个是 angular,一个是 vue,

但是很多的 js 代码都是可以复用的,老大让我把共用的代码抽象到一个地方,方便在 view 层调用

我参考着 npm 的方式去研究,现在希望能够做到这样:

共用的代码,做成一个叫 common 的包,然后用 npm 添加到 angular 项目和 vue 项目里面,

我的问题是:

首先,我没弄明白这些各种规范(我是外行前端,学得不精),我研究了一下,我们的代码应该是用的 ES6,而不是 AMD/CMD,我们的代码里面用的 webpack, 那么,我用 npm init 初始化了 common 这个项目以后,应该怎么组织目录结构?里面只生成了一个 package.json,没有生成其他的东西

第二个不太明白的是, 我理解的就是把共用的源代码抽出来,然后在其他地方直接 import 就行了,那我还有必要在 common 这个里面,再弄一套 webpack 吗(以前只会用,自己没做过配置,还不知道怎么弄)
2016 次点击
所在节点    程序员
11 条回复
kefengong
2018-09-13 16:56:23 +08:00
不一定非得 npm, git submodule 也行的
aswe6587
2018-09-13 18:04:29 +08:00
用 lerna 来外面包一层呗 不过 git 不好管理
maichael
2018-09-13 18:19:06 +08:00
最简单的 npm package 只要有一个 js 文件和一个 package.json 就行了
pkoukk
2018-09-13 18:57:27 +08:00
1、结构随便你,在 package.json 里指明 main 就可以了
2、也随便你,不过给别人用的话,webpack 过的单文件总比一个文件夹好一点
jiafaner
2018-09-13 19:44:45 +08:00
@pkoukk 感谢,你看我弄得对不对

首先,我用 npm init 生成了一个 package.json 文件,在里面学着 vue 建立了 src/test 这几个目录,然后用
jiafaner
2018-09-13 19:46:31 +08:00
@pkoukk 感谢,你看我弄得对不对

首先,我用 npm init 生成了一个 package.json 文件,在里面学着 vue 建立了 src/test 这几个目录,然后用我们公司这个项目的 ES6 的语法,在里面写 js 代码

然后,在别的已经建好的项目中,引用这个目录,还是用 import xxx from ../../common 这样的方式去引用

然后 webpack 不变,在已经建好的项目中,还是用原来的 webpack

这样是可以的吧?
jiafaner
2018-09-13 19:46:38 +08:00
感谢已送出
7anshuai
2018-09-13 19:54:50 +08:00
leekafai
2018-09-13 20:56:30 +08:00
op 打包整个文件夹到 node_modules 里面就不用导路径了,但是最好还是丢 git,然后通过 npm install,不过这样做并没有什么特别的好处
KuroNekoFan
2018-09-13 21:06:05 +08:00
rollup 了解一下
rockjike
2018-09-14 07:30:37 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/489014

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX