V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jiafaner
V2EX  ›  程序员

npm 的模块怎么写啊

  •  
  •   jiafaner · 2018-09-13 16:44:37 +08:00 · 1991 次点击
    这是一个创建于 2265 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在碰上一个需求,有两个项目,一个是 angular,一个是 vue,

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

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

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

    我的问题是:

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

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

    首先,我用 npm init 生成了一个 package.json 文件,在里面学着 vue 建立了 src/test 这几个目录,然后用
    jiafaner
        6
    jiafaner  
    OP
       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
        7
    jiafaner  
    OP
       2018-09-13 19:46:38 +08:00
    感谢已送出
    7anshuai
        8
    7anshuai  
       2018-09-13 19:54:50 +08:00
    leekafai
        9
    leekafai  
       2018-09-13 20:56:30 +08:00 via Android   ❤️ 1
    op 打包整个文件夹到 node_modules 里面就不用导路径了,但是最好还是丢 git,然后通过 npm install,不过这样做并没有什么特别的好处
    KuroNekoFan
        10
    KuroNekoFan  
       2018-09-13 21:06:05 +08:00 via iPhone   ❤️ 1
    rollup 了解一下
    rockjike
        11
    rockjike  
       2018-09-14 07:30:37 +08:00 via Android
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3516 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:17 · PVG 19:17 · LAX 03:17 · JFK 06:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.