我正在创建一个使用烬的网站,目前在一个名为“add-suent.js”的组件中使用‘ember sheetjs’模块有困难。我似乎无法使用当前代码调用文档中的任何函数。
为了获得package.json中的模块,我将它添加到中的开发依赖项中,然后运行"npm“命令,该命令成功地安装了”ember“模块。然后我试着用它来写:
import Ember from 'ember';
import xlsx from 'npm:ember-cli-sheetjs';
//have also tried directly using the sheetjs module after
//installing sheetjs with the command
//npm install xlsx --save-dev
//import xlsx from 'npm:xlsx';
export default Ember.Component.extend({
fileinput: null, //this is set with an input handler in the hbs
actions: {
fileLoaded: function() {
console.log(this.get('fileinput')); //properly outputs the file name
var workbook = xlsx.readFile(this.get('fileinput'));
},
}但是,这会导致一个错误,即:
add-student.js:134 Uncaught TypeError: _npmEmberCliSheetjs.default.readFile is not a function
我觉得问题在于它没有遵循正确的函数路径(在函数文档中存在)。如果有人能告诉我我做错了什么,那将是一个巨大的帮助。
发布于 2016-03-24 18:13:01
如果有人遇到这个问题,我已经想出了一个办法。
在您的index.html中,首先包括一行:
<script src="assets/parsing/dist/xlsx.full.min.js"></script>接下来,在public中创建一个名为assets的文件夹(如果它还不存在的话)。接下来,在名为“解析”的资产中创建一个文件夹,在“解析”中创建一个名为“dist”的文件夹。接下来,在“dist”中创建一个名为‘xlsx.ful.min.js’的文件。
接下来,将代码从:https://raw.githubusercontent.com/SheetJS/js-xlsx/master/dist/xlsx.full.min.js复制并粘贴到xlsx.full.min.js文件中。
最后,在您想要使用sheetjs模块的任何组件中,只需在导入语句下面放置以下内容:
/* global XLSX */这是一个工作,但它确实允许您使用sheetjs模块。
发布于 2017-10-06 15:37:56
使用Bower
// bower.json
"dependencies": {
"js-xlsx": "^0.11.5"
}// ember-cli-build.js
module.exports = function(defaults) {
app.import('bower_components/js-xlsx/dist/xlsx.min.js');
}在您的组件中,正如@Russ建议的那样:
import Ember from 'ember';
/* global XLSX */https://stackoverflow.com/questions/36185643
复制相似问题