我想为我正在创建的Sapper应用程序中的所有代码提供运行时assert
。
编辑:
带assert
模块适用于assert
构建,但不适用于server
构建,在浏览器中显示这500条错误消息之一:
client
import { strict as sa } from 'assert';
'assert' is imported by src/assert.js, but could not be resolved – treating it as an external dependency
const sa = require("assert").strict;
这样,客户端构建就可以通过了。 :/
我的和rollup.config.js
。
免责声明:我是Svelte和Sapper的新手,不知道应该怎么做,在这里。我的目标不仅是使它正常工作,而且要弄清楚出了什么问题(例如,了解Sapper / Svelte打包机制)。
原始说明:
这应该很简单。定义全局高点(应用程序可以将rollup.config.js
设为package.json
或package.json
并将其置于可用状态)。实际上,我还是很困惑。
我曾考虑过直接设置import
(有点苛刻?),然后将值作为参数传递给实际需要它的那些组件(但参数传递看起来很困难)。
这是一种依赖项注入的情况,我希望有一个require
,而较低的代码不在乎,这很有趣。
注意:assert
不会执行,因为它仅打印出消息。 Chrome浏览器提供了使其崩溃的选项。我可能会考虑。
window.assert
模块内置在assert
中。例如,如果您将其导入console.assert
并调用assert
,则效果很好。
由于没有node
模块的浏览器版本,您需要将npm软件包src/server.js
安装为assert(false, "whoops")
,然后将其包含在捆绑包中。
这是通过将其导入assert
:
assert
现在您也可以将其导入devDependency
文件中:
src/client.js
我从Sapper转到// src/client.js
import assert from 'assert'
....
,问题消失了。🙂以下是详细信息(如果适用于您,请发表评论。)>
在.svelte
或<!-- Example.svelte -->
<script>
import assert from assert
assert(false, "dang it")
</script>
文件中:
svelte-filerouter在
.svelte
中:
.js
我基于
import { assert } from 'assert';
的rollup.config.js
构图了此。
我不知道为什么我在Sapper中得到的500消失了。如果以Sapper为基础而不是Svelte,则有很多不同。