问题标签 [npm-scripts]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 分叉的 repo 不会将自身添加到 .bin
运行yarn add graphql-typewriter
将符号链接添加到内部的可执行文件node_modules/.bin/
。但是,在同一包的分叉版本上运行相同的命令:
不添加符号链接node_modules/.bin/
。
我今天需要学习什么关于 npm 的知识:}
javascript - 从命令行/npm 脚本对文件更改运行业力
我对通过伊斯坦布尔设置了业力和摩卡咖啡和报告的应用程序进行了单元测试。
npm 脚本:
我想要做的是在开发过程中运行一个脚本,它将监视测试和应用程序文件的更改并根据需要重新运行测试。
我尝试替换--single-run
为--auto-watch
:
但这会不断重新运行 - 一旦完成一轮测试,它就会重新开始。
业力.conf.js:
webpack.conf.test.js
有没有办法做我正在寻找的东西?
node.js - brunch build --production 仅在生产中失败
出乎意料的构建脚本开始失败。环境或配置完全没有变化。在开发中工作正常,在产品中失败。
dev 和 prod(都是 Ubuntu):
在开发中:
在产品中:
完整日志:
添加jquery
,tether
来package.json
修复require
错误,但它只会阻塞 sass 编译。这只是 JS 误触发异步功能乱序还是这里发生了什么?再一次,它开始完全出乎意料地失败。昨天和今天部署得很好,如果没有我改变任何东西就失败了。任何线索这里可能有什么问题?
编辑:
包.json:
我实际上在 prod 上看到了这个废话(但不是在 dev 上)
那是关于什么的?Bootstrap 在自己的 package.json 中将这些定义为依赖项(而不是 peerDependency)。npm 现在不引入依赖项了吗?
browser - 如何使用 webpack-dev-server 启动和运行简单的 Webpack 包
我只是在使用 webpack、webpack-dev-server 和热模块重新加载来构建我的开发环境的皮毛。我希望最终能够将 React 组件添加到一个主要是静态的站点(这样我就可以获得具有可抓取 html 的 SEO 优势。我决定不使用 Gulp 或 Grunt,而是只使用 npm 脚本来运行用于开发、测试、构建和发布的 shell 命令。
回到这个问题的标题/主题。我无法让浏览器读取 webpack 生成的 bundle.js 文件。我已经将我的库简化为最简单的index.html
,index.js
您可以在下面看到。
到控制台的错误输出是:
发出的bundle.js
文件必须在错误所在的位置:
我的index.html
文件:
我的index.js
文件:
我的webpack.config.js
文件:
我的npm start
脚本:
我已经全局安装了 webpack,所以我可以使用命令在文件夹中生成bundle.js
文件,尽管无论如何都会发出文件。public/
webpack
npm start
bundle.js
我犯了一些简单的错误。
通过@Marek Takac 解决:
这里的错误是handleClick()
函数的范围不是全局的。这可以通过从index.js
文件中导出模块来解决
并使用 webpack 的output.library 和 output.libraryTarget选项来定义一个全局变量。
参见 webpack 的exports-loader
tslint - `Tslint --fix` 不会自动修复,而是会生成 lint 问题作为控制台错误
我正在使用Angular 入门套件
我正在尝试让 tslint 使用 --fix 标志自动修复我所有的 lint 问题。
我正在运行脚本:
npm run tslint --fix src/**/*.ts
它只会产生与我已经被告知的相同的错误,tslint
而不是自动修复它:
控制台输出:
我是否遗漏了一些允许它实施更改的东西?
我的版本是:
问题:如何让 tslint 对我的 lint 错误实施自动修复?
node.js - 在 npm install 上创建 PostgreSQL 数据库
我有一个在本地构建了几个月的 npm 包。为了让它正常工作,它需要访问 PostgreSQL 数据库。因此,它最好需要自动运行创建数据库和表的脚本。
这可能吗,如果可能的话,我在哪里可以制作这样的脚本?npm install
我想在运行时尽可能地自动化。
pipe - Node-sass 不在 npm 脚本中使用管道
我正在使用 node-sass 将我的 scss 文件编译为 css,然后将结果通过管道传输到 autoprefixer。但是,我最终发现,当我尝试通过管道传输其输出时,node-sass 没有将任何内容流式传输到 stdout,但当且仅当我通过 npm 脚本执行此操作时。
这里有一些例子:
使用 npm 管道
Npm 脚本:"build:css": "node-sass src/style.scss | echo > dist/style.css"
style.css:ECHO is on.
没有按预期工作带 powershell 的管道
Powershell:node ./bin/node-sass test/fixtures/compressed/index.scss | echo > style.css
style.css:#navbar { [...]
按预期工作附加 npm
Npm script"build:css": "node-sass src/style.scss > dist/style.css"
style.css:#navbar { [...]
按预期工作
我究竟做错了什么?
这里有一些平台规格
- NPM 版本 (
npm -v
): 3.10.3 - 节点版本(
node -v
):v6.3.0 - 节点进程(
node -p process.versions
):v6.3.0 - 节点平台(
node -p process.platform
):win32 - 节点架构(
node -p process.arch
):x64 - node-sass 版本 (
node -p "require('node-sass').info"
):
node-sass 4.5.3 (Wrapper) [JavaScript]
libsass 3.5.0.beta.2 (Sass Compiler) [C/C++] - npm node-sass 版本 (
npm ls node-sass
): `-- node-sass@4.5.3
javascript - 匹配 npm 脚本中的多个文件扩展名
我有一个 npm 脚本,我想在其中匹配文件扩展名ts
和tsx
文件扩展名......如下所示:
但是,上面的语法不起作用。这样做的正确语法是什么?
node.js - 检查 npm 脚本中的 .env 变量是否为 x
因此,我希望在其中创建一个脚本,或者package.json
如果在文件中设置为 dev 或 prod,并且默认情况下 - 如果没有设置任何内容,则应该运行。start:dev
start:prod
ENV
.env
start:dev
我不确定如何检查 npm 运行脚本中的环境变量。
我想要的是
就像是:
有任何想法吗?