【问题标题】:brunch: Cannot find module "initialize" from "/"早午餐:无法从“/”中找到模块“初始化”
【发布时间】:2015-05-14 10:24:17
【问题描述】:

我对早午餐/node.js 感到绝望。 我有一个包含几个简单页面的项目,使用了 brunch、backbone.js、jade 和 coffeescript。

app/assets/index.html 包含以下脚本:

<script src="data/vendor.js" type="text/javascript"></script>
<script src="data/app.js" type="text/javascript"></script>
<script src="data/data.js" type="text/javascript"></script>
<script type="text/javascript">require('initialize');</script>

brunch-config.coffee:

exports.config =
  files:
    javascripts:
      defaultExtension: 'coffee'
      joinTo:
        'data/app.js': /^app/
        'data/vendor.js': /^vendor/
      order:
        before: [
          'vendor/scripts/jquery-1.11.1.js',
          'vendor/scripts/underscore.js',
          'vendor/scripts/backbone-1.1.2-full.js',
        ]
  stylesheets:
    joinTo:
      'data/app.css': /^app\/styles/
  templates:
    defaultExtension: 'jade',
    joinTo:
      'data/app.js': /^app\/templates/

所有coffee文件都正确编译并合并到vendor.jsapp.js中,我可以找到(javascript'ed)initialize。 app.js 中带有 grep 的咖啡 代码。 app/initialize.coffee:

# The function called from index.html
$(document).ready ->
  app = require('application')
  app.initialize()
  return

我在 spa-bookmarks 教程之后对此进行了建模。但是当我启动早午餐服务器时,我的 Js 浏览器控制台总是告诉我:

TypeError: _ is undefined
Error: Cannot find module "./initialize" from "/"

TypeError 现在不打扰我了。但是我不知道为什么没有调用 initialize 模块。

我必须承认我对 Js 和 node.js 还很陌生,还没有完全理解(更好的是:不知道)Js 模块捆绑在一起和调用的方式。

我尝试了许多可能的变体,但没有得到比这个错误消息更多的东西。 请帮忙。

【问题讨论】:

    标签: node.js backbone.js coffeescript brunch


    【解决方案1】:

    AAARRGH。经过几天的工作和挣扎,几乎每次我在这里问一个问题,5 分钟后我都会自己找到答案。

    问题是: 我将 brunch 配置为在 /^vendor/ 中查找供应商 js 文件,但它们位于 app/vendor 中。将文件夹复制到 .. 一切正常。

    【讨论】:

    • 感谢您分享您的经验!您能否将此答案标记为已接受?非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    • 2013-11-03
    • 2017-09-27
    • 2013-06-29
    • 2013-03-15
    • 2012-06-19
    • 2018-08-27
    相关资源
    最近更新 更多