jim*_*thy 7 javascript node.js express
我有一个 vanilla Express 应用程序,它的 package.json 看起来像这样:
{
"name": "express-app",
"version": "1.0.0",
"main": "app.js",
"dependencies": {
...
},
"devDependencies": {
...
},
"scripts": {
...
},
}Run Code Online (Sandbox Code Playgroud)
我想在 express 应用程序之外编写一个脚本,用于从 express 应用程序导入模块。该模块驻留在./src/model/Example.js该模块中还导入了各种其他模块。
该脚本位于./scripts/test.mjs并执行:
import Example from '../src/models/Example.js';
但是,我遇到了第一个从Example.js以下导入的问题:
SyntaxError: Cannot use import statement outside a module
Run Code Online (Sandbox Code Playgroud)
我如何构建它以便脚本可以正确导入模块?
这是因为你的项目在 vanilla JS 中,导入语句不起作用。您可以使用parceljs,一个支持ES6及以上语法的零配置包捆绑器来使用它,首先通过运行将其添加为开发依赖项
npm install parcel-bundler --save-dev
Run Code Online (Sandbox Code Playgroud)
然后将脚本添加到您的package
{
"scripts": {
"dev": "parcel <your entry file>",
"build": "parcel build <your entry file>"
}
}
Run Code Online (Sandbox Code Playgroud)
将入口文件替换为代码中的主文件(例如app.js:)