试图包含一个简单的模块 - 无法让它工作 Pure Javascript
Trying to include a simple module - can't get it to work Pure Javascript
我正在尝试包含我制作的一个简单模块,但它不起作用。
在我的 index.html 页面中,我包含了这个文件:
登录-查看-model.js
import {localStorageService} from '../shared/local-storage-module.js';
// Login View Model
var LoginViewModel = function () {
self = this;
this.token = ko.observable();
this.email = ko.observable("john@gmail.com");
this.password = ko.observable("12345");
self.submit = function() {
(async () => {
const rawResponse = await fetch('http://localhost/chitra-admin/api/user/', {
method: 'POST',
mode: 'cors',
headers: {
'Accept': 'application/json',
},
body: JSON.stringify({email: self.email(), password: self.password()})
});
const content = await rawResponse.json();
if(content.response.id){
self.token(content.response.token);
localStorageService.save('token', self.token());
alert(sessionStorage.getItem('token'));
}
console.log(content.request.token);
})();
}
}; // End View Model
// Helper Functions For Fetching Data
function handleErrors(response) {
if (!response.ok) {
console.log(JSON.stringify(response));
throw Error(response.statusText);
}
return response;
}
ko.applyBindings(new LoginViewModel());
我收到这个错误:
Uncaught SyntaxError: Unexpected token {
我看不出哪里错了。我的 local-storage-module.js 非常简单:
const localStorageService = {
save: function(key, val){
sessionStorage.setItem(key, val);
}
}
export {localStorageService} ;
我知道功能不实用,但我正在学习。我最终会包含更复杂的模块,但我什至不能让这个简单的模块工作。
有什么想法吗?
谢谢。
这样做:
在 local-storage-module.js 而不是 export {localStorageService} ;
中添加 module.exports = localStorageService
并在 login-view-model.js 中执行 const localStorageService = require('../shared/local-storage-module.js')
有点老派,但它可以在纯 JS 中工作。 :)
我正在尝试包含我制作的一个简单模块,但它不起作用。
在我的 index.html 页面中,我包含了这个文件:
登录-查看-model.js
import {localStorageService} from '../shared/local-storage-module.js';
// Login View Model
var LoginViewModel = function () {
self = this;
this.token = ko.observable();
this.email = ko.observable("john@gmail.com");
this.password = ko.observable("12345");
self.submit = function() {
(async () => {
const rawResponse = await fetch('http://localhost/chitra-admin/api/user/', {
method: 'POST',
mode: 'cors',
headers: {
'Accept': 'application/json',
},
body: JSON.stringify({email: self.email(), password: self.password()})
});
const content = await rawResponse.json();
if(content.response.id){
self.token(content.response.token);
localStorageService.save('token', self.token());
alert(sessionStorage.getItem('token'));
}
console.log(content.request.token);
})();
}
}; // End View Model
// Helper Functions For Fetching Data
function handleErrors(response) {
if (!response.ok) {
console.log(JSON.stringify(response));
throw Error(response.statusText);
}
return response;
}
ko.applyBindings(new LoginViewModel());
我收到这个错误:
Uncaught SyntaxError: Unexpected token {
我看不出哪里错了。我的 local-storage-module.js 非常简单:
const localStorageService = {
save: function(key, val){
sessionStorage.setItem(key, val);
}
}
export {localStorageService} ;
我知道功能不实用,但我正在学习。我最终会包含更复杂的模块,但我什至不能让这个简单的模块工作。
有什么想法吗?
谢谢。
这样做:
在 local-storage-module.js 而不是 export {localStorageService} ;
中添加 module.exports = localStorageService
并在 login-view-model.js 中执行 const localStorageService = require('../shared/local-storage-module.js')
有点老派,但它可以在纯 JS 中工作。 :)