将节点.js应用程序从 JavaScript 转换为咖啡脚本时出现无效字符和模块
Invalid characters and modules when translating a node.js app from javascript to coffee script
所以基本上我正在尝试遵循此处列出的教程,除了使用咖啡脚本而不是javascript。我在网站上收到两个错误,
1。关于 core.coffee (# public/core.coffee) 第一行中的"#"字符的语法错误
2. 一个错误,显示没有模块:苏格兰威士忌。
在实际页面上,它没有显示待办事项的数量和每个待办事项,而是说 {{ todos.length }} and {{ todo.text }}
.
这是我的核心咖啡:
# public/core.coffee
scotchTodo = angular.module 'scotchTodo', []
mainController = ($scope, $http) ->
$scope.formData = {}
# when landing on the page, get all todos and show them
$http.get '/api/todos'
.success((data) ->
$scope.todos = data
console.log data
).error((data) ->
console.log 'Error: ' + data
)
# when submitting the add form, send the text to the node API
$scope.createTodo = ->
$http.post '/api/todos', $scope.formData
.success((data) ->
$scope.formData = {} # clear the form so our user is ready to enter another
$scope.todos = data
console.log data
).error((data) ->
console.log 'Error: ' + data
)
# delete a todo after checking it
$scope.deleteTodo = (id) ->
$http.delete '/api/todos/' + id
.success((data) ->
$scope.todos = data
console.log data
).error((data) ->
console.log 'Error: ' + data
)
这是我的索引.html:
<!-- index.html -->
<!doctype html>
<!-- ASSIGN OUR ANGULAR MODULE -->
<html ng-app="scotchTodo">
<head>
<!-- META -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"><!-- Optimize mobile viewport -->
<title>Todo App</title>
<!-- SCROLLS -->
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css"><!-- load bootstrap -->
<style>
html { overflow-y:scroll; }
body { padding-top:50px; }
#todo-list { margin-bottom:30px; }
</style>
<!-- SPELLS -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script><!-- load jquery -->
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script><!-- load angular -->
<script src="core.coffee"></script>
</head>
<!-- SET THE CONTROLLER AND GET ALL TODOS -->
<body ng-controller="mainController">
<div class="container">
<!-- HEADER AND TODO COUNT -->
<div class="jumbotron text-center">
<h1>I'm a Todo-aholic <span class="label label-info">{{ todos.length }}</span></h1>
</div>
<!-- TODO LIST -->
<div id="todo-list" class="row">
<div class="col-sm-4 col-sm-offset-4">
<!-- LOOP OVER THE TODOS IN $scope.todos -->
<div class="checkbox" ng-repeat="todo in todos">
<label>
<input type="checkbox" ng-click="deleteTodo(todo._id)"> {{ todo.text }}
</label>
</div>
</div>
</div>
<!-- FORM TO CREATE TODOS -->
<div id="todo-form" class="row">
<div class="col-sm-8 col-sm-offset-2 text-center">
<form>
<div class="form-group">
<!-- BIND THIS VALUE TO formData.text IN ANGULAR -->
<input type="text" class="form-control input-lg text-center" placeholder="I want to buy a puppy that will love me forever" ng-model="formData.text">
</div>
<!-- createToDo() WILL CREATE NEW TODOS -->
<button type="submit" class="btn btn-primary btn-lg" ng-click="createTodo()">Add</button>
</form>
</div>
</div>
</div>
</body>
</html>
如果您需要我提供任何其他信息,请告诉我,真的想了解发生了什么。谢谢!
您似乎正在尝试在浏览器中使用CoffeeScript:
<script src="core.coffee"></script>
您需要先编译它,或者将编译器附加到浏览器代码中,以便可以即时编译它。后者通常不是一个好主意,因此您应该添加一个使用 CoffeeScript 编译器将您的core.coffee
转换为core.js
的构建步骤,然后将该脚本包含在您的index.html
中。
从终端看起来有点像 coffee -c core.coffee
,但还有更多选项,可以在这里看到。
相关文章:
- 如何使用JavaScript粘贴原始二进制文件而不出现“无效字符”错误
- 使用JSON.parse时出现无效字符javascript错误
- 无效字符替换时出错
- 解析 JSON 时出现无效字符错误
- JSON.parse中存在无效字符
- JavaScript运行时错误:无效字符
- JSON无效字符错误
- 将节点.js应用程序从 JavaScript 转换为咖啡脚本时出现无效字符和模块
- 火狐抱怨有效的JSON..不可见的无效字符
- 替换 javascript 中的无效字符
- 无效字符破坏了脚本
- SCRIPT1014:无效字符
- 从电子邮件中删除无效字符
- 如何从JSON$http.get()请求中删除无效字符
- Jquery或JS:如何检查字符串中的无效字符
- 使用javascript验证包含无效字符的电子邮件正则表达式
- 使用atob()方法时出现无效字符错误
- JavaScript运行时错误:无效字符(JSON.parse)
- 来自IE9的AJAX响应包含无效字符
- 限制键入无效字符-jquery validate