0

我正在使用电子样板,来自这里:https ://github.com/szwacz/electron-boilerplate/

它使用 gulp-rollup 来捆绑资产,并且可以使用npm start.

这是我的导入语句app.js

import os from 'os';
import { remote } from 'electron';
import jetpack from 'fs-jetpack';
import env from './env';

import jquery from 'jquery';
import parsley from 'parsleyjs';
import select2 from 'select2/dist/js/select2.js';

import { setupForm } from './form/form';

使用 初始加载时一切正常npm start,但是一旦我编辑文件并保存,这会触发watch重新加载构建,我会收到一个错误:

Error: Could not load select2/dist/js/select2.js (imported by /##/repo-name-example/src/app.js): ENOENT: no such file or directory, open 'select2/dist/js/select2.js'
at /##/repo-name-example/node_modules/rollup/dist/rollup.js:9428:10
at process._tickDomainCallback (internal/process/next_tick.js:129:7)

如果我再次取消该过程npm start,一切都很好。

为什么它会忘记在哪里select2

4

1 回答 1

0

由于您使用文件路径手动导入此文件,而不是像 jquery 行那样的命名导入,因此您需要使用

import select2 from './select2/dist/js/select2.js';

注意./开头的。否则,它会有效地查找名为 的模块select2/dist/js/select2.js,而不是使用路径。

您可能还需要将其更改为

import select2 from './node_modules/select2/dist/js/select2.js';

(假设那是文件夹所在的位置)

于 2017-01-13T10:46:17.120 回答