我是节点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;
});
});
};
});
感谢任何帮助。提前谢谢!
答案 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以供参考。