首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >项目组织和cljsbuild以要求命名空间

项目组织和cljsbuild以要求命名空间
EN

Stack Overflow用户
提问于 2015-08-07 14:00:33
回答 1查看 152关注 0票数 0

如何组织我的项目结构并将cljsbuild配置为需要我自己的命名空间?例如,在我的project/src-cljs文件夹中有:

代码语言:javascript
复制
└── project
    ├── file1
    │   └── file1.cljs
    ├── file2
    │   └── file2.cljs
    └─── required
        └── required.cljs

我希望file1.cljs(命名空间为file1.file1)和file2.cljs(命名空间为file2.file2)要求required.cljs(名称空间为required.required)。

我的:cljsbuild看起来像:

代码语言:javascript
复制
:cljsbuild {:builds
            [{:source-paths ["src-cljs/project/file1"]
              :compiler {:output-to "resources/public/js/file1.js"}}
             {:source-paths ["src-cljs/project/file2"]
              :compiler {:output-to "resources/public/js/file2.js"}}]}

当我(:require [required.required :as required])和编译时,我得到了异常:

Caused by: clojure.lang.ExceptionInfo: No such namespace: required.required, could not locate required/required.cljs, required/required.cljc, or Closure namespace "required.required" at line 1 src-cljs/project/file1/file1.cljs

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-10 14:00:28

对于每个名称空间,通常不需要单独的js输出文件和cljsbuild配置文件。您需要一个包含所有名称空间的cljsbuild配置文件。类似于:

代码语言:javascript
复制
:cljsbuild {:builds
            [{:source-paths ["src-cljs/project"]
              :compiler {:output-to "resources/public/js/project.js"}}]}

不仅如此:您可能希望使用“src”作为:source-paths,然后将您的命名空间命名为project.ns1.sub-ns1。但是您可以不使用project ns前缀来完成它。

您可以在lein-cljsbuild的简单示例项目中找到这个简单布局的示例。

从cljsbuild的角度来看,您似乎走上了“多重构建配置”的道路。实际上,这主要用于为您的主代码和针对该代码的测试提供单独的构建概要文件。在高级示例中显示了这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31879581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档