我如何在Sapper中包含'fs'模块?

问题描述 投票:0回答:1

我正在从事一个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,
    }
};```
config fs rollup svelte sapper
1个回答
0
投票

所以,我从一个新项目中重新启动了我的项目。 Aaaaand很好。一切正常。我可能真的搞砸了我的项目,尝试了多种不同的方法来使它们正常工作,从而造成了严重的损失。以后我需要更加小心。

© www.soinside.com 2019 - 2024. All rights reserved.