ReferenceError:未定义“require”

时间:2015-02-24 07:35:51

标签: javascript html angularjs node.js pug

我是节点js和角度js的初学者。

我有一个字符串是html文本,我想将其转换为jade。

我可以使用节点js模块' html2jade'但是当我在js文件中编写我的代码(在控制器中)时,它给了我一个“要求”的条件。未定义错误。

这是代码:

app.controller('comicController', function($scope, resources) {

  $scope.searchComic = function() {
    resources.routes.charactersAPI.fetch({title: $scope.title}, function done(response) {
      console.log(response);
      $scope.comic = response;    
      //$scope.comic.description
      require('html2jade').convertHtml($scope.comic.description, {}, function (err, jade) {
            $scope.desc = jade;
          });
    });
  };

});

感谢任何帮助。提前谢谢!

1 个答案:

答案 0 :(得分:-1)

您需要在构建过程中使用模块。

浏览器没有定义require方法,但Node.js确实如此。使用Browserify,您可以编写使用require的代码,方法与在Node中使用它的方式相同。

安装browserify

npm install -g browserify

编写模块

// hello.js
module.exports = function(name) {
    return 'Hello ' + name + '!';
}

使用模块

// app.js
var greetings = require('./hello');
alert(greetings('Christophe'));

创建包

browserify app.js -o bundle.js

参考你的包

<html>
<body>

<script src="bundle.js"></script>
</body>
</html>

Browserify是一个工具,可以捆绑node.js模块并在浏览器中使用它们。换句话说,它允许您使用node.js-style需要编写基于浏览器的应用程序。

您可以查看here以供参考。