我只想从另一个文件导入函数,而我得到此错误消息:
SyntaxError:无法在模块外部使用import语句
我没有使用任何html文件。我仅将webpack使用js文件,并使用yarn start
这是包含我要导出的功能的文件的代码:
export function assert(value, desc) {
return value ? console.log(desc) : console.log('fail')
}
这是我要导入功能的文件的代码:
import {assert} from './assert.js'
function juggle() {
var result = 0;
for(var n=0; n < arguments.length; n++) {
result += arguments[n]
}
this.result = result
}
var ninja1 = {}
var ninja2 = {}
juggle.apply(ninja1, [1,2,3,4])
juggle.call(ninja2, 5,6,7,8)
assert(ninja1.result === 10, "juggled via apply")
assert(ninja2.result === 26, "juggled via call")
这里是我的package.json
:
我不知道解决这个问题是否有用,但是如果您想看到它,就在这里。
{
"name": "c",
"version": "1.0.0",
"main": "",
"scripts": {
"start": "node Cap_03/01_apply_e_call.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"webpack-dev-server": "^3.9.0"
},
"type": "module",
"devDependencies": {
"webpack": "^4.41.2"
},
"description": ""
}
自节点13.2.0+起
确认您已安装最新版本的Node。只需执行以下操作之一:
OR
如果使用older Node version or have to
import语句仅在ES模块中允许。有关CommonJS中的类似功能,请参见import()。
使Node将您的文件视为ES模块you need to