【发布时间】:2019-12-14 19:37:05
【问题描述】:
我正在从事一个 Sapper 项目,因为对于我想快速启动和运行的一个小项目来说,它看起来很不错。这并不容易,我现在无法从我的 Sapper 项目中运行包含内置“fs”模块的脚本。
我正在尝试构建一个字符生成器。我已经构建了一个可以执行此操作的脚本,但我希望能够将生成的字符保存为 JSON 文件,然后稍后再读取它们。阅读很容易,写作似乎没有在任何明显的地方列出。我所拥有的最好的方法是尝试让内置插件运行以允许我访问 fs 模块,但我对此的研究参差不齐且无济于事。尝试汇总以提供帮助似乎不起作用,我无法找到可接受的替代方案。
每当我运行该项目时,它只是说它无法解决它。
Could not load fs (imported by E:\Software Projects\Javascript\Io-Generator\src\routes\generator\generator.js): ENOENT: no such file or directory, open 'E:\Software Projects\Javascript\Io-Generator\fs'
我所做的似乎无济于事。请有人能解释一下我在这里缺少什么吗?我使用 Sapper 错了吗?我在这里的汇总中遗漏了什么吗?有没有我想念的替代方案?
如果有帮助,我的汇总配置:
client: {
input: config.client.input(),
output: config.client.output(),
plugins: [
replace({
'process.browser': true,
'process.env.NODE_ENV': JSON.stringify(mode)
}),
svelte({
dev,
hydratable: true,
emitCss: true
}),
resolve({
browser: true,
preferBuiltins: true,
dedupe
}),
commonjs( {
browser: true
} ),
globals(),
builtins( {
fs: true
} ),
json(),
legacy && babel({
extensions: ['.js', '.mjs', '.html', '.svelte'],
runtimeHelpers: true,
exclude: ['node_modules/@babel/**'],
presets: [
['@babel/preset-env', {
targets: '> 0.25%, not dead'
}]
],
plugins: [
'@babel/plugin-syntax-dynamic-import',
['@babel/plugin-transform-runtime', {
useESModules: true
}]
]
}),
!dev && terser({
module: true
})
],
onwarn,
},
server: {
input: config.server.input(),
output: config.server.output(),
plugins: [
replace({
'process.browser': false,
'process.env.NODE_ENV': JSON.stringify(mode)
}),
svelte({
generate: 'ssr',
dev
}),
resolve({
browser: false,
preferBuiltins: true,
dedupe
}),
commonjs(),
builtins( {
fs: true
} ),
json()
],
external: Object.keys(pkg.dependencies).concat(
require('module').builtinModules || Object.keys(process.binding('natives'))
),
onwarn,
},
serviceworker: {
input: config.serviceworker.input(),
output: config.serviceworker.output(),
plugins: [
resolve( {
browser: false,
preferBuiltins: true
} ),
replace({
'process.browser': true,
'process.env.NODE_ENV': JSON.stringify(mode)
}),
commonjs(),
builtins( {
fs: true
} ),
json(),
!dev && terser()
],
onwarn,
}
};```
【问题讨论】:
-
导入
fs对我有效,并且设置了库存工兵,并且对rollup.config.js没有任何更改。 -
很奇怪。稍后我会再试一次。
-
我再次重建了一切。这似乎完全没问题。什么鬼?!
-
@joshnuss 你能告诉我你安装了什么以及你是如何导入它的吗?我认为它正在寻找模块,但它正在谈论现在缺少原型。
-
我刚刚将
import fs from 'fs'添加到blog/index.json.js并添加了对fs.readFileSync(...)的调用并使用curl localhost:5000/blog/index.json对其进行了测试,没有错误
标签: config fs rollup svelte sapper